util::map_at should return a (const) reference, not value
First cut at DisjointSets data structure (wrapper)

There are no tests yet, but the header can be included and it compiles.
Provide a version of map_at that works with boost::bimap

(bimap provides a key_type; map provides a mapped_type.)