Add iterator traits for every iterator.

Apparently this is required for std::reverse_iterator to properly work.
Silly me for not noticing that earlier.