have a custom boost::forward implementation which will return a
BOOST_RV_REF if movable or already an rv type, otherwise returns lvalue
ref. const is maintained.