Added IteratorTestCase

Added abstract IteratorTestCase with some standard assertions.

- Added assertIterationValues() method
- Added assertIteration() method
Fixed RangeIterator

- Fix: Ranges with a single step did not work
- Better input values checking
- More tests
Updated CachedIteration

- Added populateCache() method
- Added seek() method
- Code-Fixes: CachedIteration.php
Renamed CachedIteration to CachingIterationIterator
Update ForeachIterator and IndexIteration

- Code-Style: IndexIteration
Added ForeachIteratorWithCount
Added STDERR output mode
Updated DebugIterator events

Added more events and also show values to better differentiate while
debugging.

- Added parent::valid() value as event
- Added parent::current() and parent::key() value as event
- Added afer parent::rewind() and after parent::next() as event
- Updated by adding "()" to event messages for previous iterator methods
- Make varLabel() method final
Updated SeekableDebugIterator events

Updated SeekableDebugIterator events as well as
MagicDebugIterator events.

SeekableDebugIterator current() and key() are mapped
to the inner-iterator object instead of the parent
because IteratorIterator is caching and then proxying
resulted in unexpected behavior.

- Added "()" to event message foi seek method on SeekableDebugIterator
- Added $innerIterator::current() and $innerIterator::value() as event
- Switched to varLabel() method
IteratorDecorator Updated

- Change from being OuterIterator to Iterator
- Switch to protected from private for inner interator
- Code-style fixes
Make DebugIterator and IteratorDecorator

Change was done because it was noticed that
IteratorIterator::rewind() calls inner iterators
current() method and then not any longer on current().

Ergo: InnerIterator caches/pre-exectes calls to valid(),
current() and key().

- Introduce DebugIteratorModes Interface
- Copy a lot of code, inheritance differs
- Fix: Require autoload.php relative to __DIR__ not CWD
- Code-Style: debug-iterator.php
- Code-Style: DebugIteratorIterator
Allow to debug IteratorIterator as well as Iterator (via IteratorDecorator)

- Minor: range-iterator example beautified output
- Code-Style: range-iterator.php
- Fix: Require autoload.php relative to __DIR__ not CWD
- Code-Style: DebugIteratorDecorator
- Code-Style: SeekableDebugIteratorDecorator
- Code-Style: SeekableDebugIteratorIterator
Require autoload.php relative to __DIR__ not CWD (seekable-iteration.php)
Added CountFilterIterator
Minor: Code-Style

- Code-Style: IterationStep
- Code-Style: SeekableIteration
Added TraversableDecorator
Added FunctionIterator
Added NumericKeyIterator
Added Example php-object-iteration.php

Standard PHP object iteration example with foreach
Added Example rewind-norewind-iterator.php