Implement moving swappable types.
I had to rejig the terminology a little - so 'boost_movable' means movable using boost::move_from, 'movable' means movable by any means.