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
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
Added FunctionIterator
Added NumericKeyIterator
Added Examples of PHP Object Iteration

- php-object-iteration.php: Standard PHP
  object iteration example with foreach
- php-object-iteration-internal.php:
  Standard PHP object iteration example
  with foreach on an internal object.
- See: http://php.net/oop5.iterations
Added Example rewind-norewind-iterator.php
Added DecoratingIteratorDecorator

Very similar to DecoratingIterator sometimes in PHP < 5.5 a
IteratorDecorator is required instead of a IteratorIterator as
IteratorIterator gives warnings on "Illegal type returned from
Iterator::key()" when caching the key value per each iteration.
Added DecoratingIteratorWithArguments

Subtype of DecoratingIterator with optional arguments array.

NOTE: So far there is no use-case, tests are missing.
Added AggregatingIterator
Added PropertyIterator
Updated autoload.php

Works now more fluently on subdirectories
Updated DebugIterator

Make DebugIterator::varLabel static because it's sort of a trait.
Updated SeekableDebugIterator

- Make use of TraversableDecorator protected member.
Updated ForeachIterator

- Added support for IteratorAggregate
Updated DebugIteratorIterator

Half-Heartly port to DebugIterator::varLabel
Updated DebugIterator

Make DebugIterator::varLabel static because it's sort of a trait.
Updated DebugIteratorIterator

Half-Heartly port to DebugIterator::varLabel
Updated IteratorTestCase

Allow to give $message for common assertions like it is common in PHPUnit assertions.

Added IteratorTestCase::assertIterationKeys()
Stopped adding NotFilterIterator (postponed)

The current implementation idea does not work, but there is a way to do it.

This requires to have CachingIterator under test first which richt now is
not the case so needs to be done first.