Bimap Treap-based bimap container. Uses intrusive treap structure to avoid double storage. Is exception safe. Uses empty base optimisation to avoid extra memory allocations.