* take advantage of mp11
* split container_traits into several traits and helpers
* split map_traits into several traits
* use value_type more consistently
* refactor detail::inserter
* use detail::inserter with map-like types
* refactor conversion of tuple-like to array
* require unique keys for ToMapLike types (without it multimaps don't
round-trip)