Properly mark noexcept status of swap member and free function
Add is_swappable and make is_nothrow_swappable honor it