added hash support
added missing namespace qualifier
avoided std::hash fwd decl as per http://lists.boost.org/Archives/boost/2011/02/177218.php
used BOOST_FLYWEIGHT[_TYPENAME]_TEMPL_ARGS for consistency with the rest of code