Added static assertions to do some basic concept checks
Renamed single-type generators -> xxx_generator
Renamed const/nonconst iterator generators -> xxx_pair_generator
Added make_transform_iterator(iter, function)
The existence of boost::detail::iterator_traits allowed many
template arguments to be defaulted. Some arguments had to be
moved to accomplish it.
[SVN r8994]