- add constructors that takes non-const lvalue ref pair and const rvalue ref pair
- add const assignment operators
- add const swap member and non member
(note) the pair changes in uses_allocator_construction_args has not been implemented as the C++20 paper P0591r4 has not been implemented in libcxx
The noexcept doesn't seem to be in the standard -- we're adding it for consistency with existing constructors, right?