restart of branch, this is to include changes from trunk

svn path=/sandbox-branches/birbacher/fix_iostreams/boost/function_output_iterator.hpp; revision=40545