Added DecoratingIterator

Originally based on Marcus Börgers DecoratingIterator[1].

Tests have been added and dead code has been left out.

[1]: http://goo.gl/zViiro
Added RecursiveDecoratingIterator