Removed Buffer member pointer from Iterator template
* Pointer to a Buffer instance was only needed during Iterator specialization instance construction
** there is no reason for keeping it around during the whole livetime of a iterator instance
** Buffer is accessed during construction to cache begin and end iterators