use auto in place of BOOST_AUTO_DECLTYPE when we're always using the auto->decltype form
fix specialization of hierarchy_of for hierarchies, solves problems with policies