Add push_back container algorithm

Equivalent to Boost.Range push_back:
push_back operates on STL Containers that
provide a push_back method, and is equivalent to copy(rng,
back_inserter(container)).

Container algorithms are just utilities for operating on containers.
In particular, they do not operate on Iterables.