add tlist, aka treap list
a list optimized for fast insertion and deletion at arbitrary positions,
while also being reasonably fast at indexing - all operations complete
roughly in O(log N).
while there may be other potentially faster algorithms to achieve these
properties, probably none can compete in compactness and simplicity of
the implementation, of which the core code is about 90 lines of C in this
case. the rest of the code provides a nice API around it, which should
be familiar to users of my dynamic array implementation known as sblist.
the version committed here is the bare minimum to provide the most
important features of a list, extra features like those currently
available in sblist like sorted insertion or binary search may be added
in the future. the header file tlist.h provides comments explaining the
functionality, and the included test file can probably serve as a good
usage example.
credits go to the author of the e-maxx.ru article describing the
possibility of using a treap as a list with implicit indices instead of
keys - as the typical use of a treap is as a key-value store, similar
to a hashtable.