stapdyn: Define offset pointers and list implementations
Offset pointers are an abstraction of pointers into relative offsets,
here chosen as relative to the offptr_t object itself. This allows
objects to reference each other within a memory block that may not be at
a fixed virtual address, such as with shared memory or reallocs.
The olist and ohlist types are based on the Linux list and hlist types,
but purely using offset pointers.