BlockVector does utilize allocator interface completely.

Namely, it should not use placement new to construct values and the deconstructor at the memory pointer but the allocator_traits::construct/destroy methods.