improve SFINAE constraint on Algorithm_details::adapt_insert
fix adapt_insert to properly distinguish between containers which use push_back (eg. std::vector) and which use insert (eg. KeyedContainer)
fix adapt_insert to properly distinguish between containers which use push_back (eg. std::vector) and which use insert (eg. KeyedContainer)