Dictionary in which the insertion order of items is preserved (using an
internal double linked list). In this implementation replacing an existing
item keeps it at its original position.
Internal representation: values of the dict::
[pred_key, val, succ_key]
The sequence of elements uses as a double linked list. The
links are dict
self.lt are the keys of first and last element
inseted in the odict. In a C reimplementation of this data structure, things
can be simplified (and speed up) a lot if given a value you can at the same
time find its key. With that, you can use normal C pointers.