Fixed allocator fixes

GCC 4.8 completely ignores your implementation of your super classes implementation (allocate, deallocate, etc.) when deriving from std::allocator<>. It's probably not a good practice anyway to inherit std::allocator<>. I've decided to provide the default implementation (determined from the C++ spec) for all rest of the methods.

Tested with GCC (4.1.2 and 4.8), Clang 3.4, MSVC 2010 and 2013