merging from trunk; fix #5127 from M. Morin; fix for refs #5697
Merging boost/iterator and libs/iterator trunk to release.
Merging boost/iterator from trunk to release (usability improvement after latest fix to function_input_iterator).
Merging trunk to release; fixing typo in comments of iterator_facade.