Fix has_nothrow_move and avoid boost::has_nothrow_move<copyable>::value test as each compiler can deduce a different thing depending on its type analysis.