Here is a patch similar to what has been done to other containers like
It optimizes the swap operation, the allocator extended move constructor
and some other methods where I just bypass intermediate calls.
I reproduced the noexcept qualification on _Deque_impl_data/_Deque_impl
even if they are not necessary as long as the std:deque always allocate
I also removed some _M_map checks as, once again, it can't be null for
the moment. I just kept the one in the destructor as I'd like to commit
a patch after this one to avoid allocations on move which will make this
Tested under Linux x86_64 Default and C++98 modes, w/o version namespace.