Make Boost.Any more conformant to draft:
* tune boost::any_cast to work with temporaries and add some more test (partially refs #6999)

svn path=/trunk/boost/any.hpp; revision=84229