Allow append() to work with any DomainEvents implementation

The initial implementation of append() made assumptions about the internal
workings of the $other DomainEvents implementation. Although this would work for
any $other DomainEventsArray it would fail pretty hard for any other
implementation even if it used $events property internally.

Includes a test implmentation of DomainEvents that only implements the iterator
portions of DomainEvents. This should be enough to ensure that appending works
as expected with an entirely different implementaiton of DomainEvents.
Merge pull request #3 from simensen/master

Allow append() to work with any DomainEvents implementation