Moved iterator comparison methods into dtl::Comparable template
* avoids unnecessary code duplication during template instantiation
* BufferIterator and Iterator template implementations now only contain their own implementation details