Use __thrust_hd_warning_disable__ on thrust::swap's implementation.
Work around __host__ __device__ warnings in allocator_traits::allocate & allocator_traits::deallocate.
Annotate contiguous_storage's remaining member functions with __host__ __device__.