restart of branch, this is to include changes from trunk

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