remove now overly specific typenames
added typedefs, ready to include them in vector and iterators too
added typedefs from allocator, and fixed template definition
moved implementation back into header, as was done for vector
separated namespace declarations
First parts of iterator.
Currently inclues iterator_traits and reverse_iterator
replace old custom reverse iterator with new templated one
Significantly simplified the implementation of the iterators.
Not sure I'm happy with this way of doing it yet, but it will do for now.