Removed private iterator_type typedef in BufferIterator and Iterator templates
* the type of the current class can be accessed under the class's name even if it is a template class
** this means that iterator_type was a unnecessary indirection