restart of branch, this is to include changes from trunk

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