Aggregate Root Test Scenario

The current `EventSourcing/Testing/Scenario` seems to have fallen behind. This pull request added some functionality such that you can easily test your `EventSourcedAggregateRoot` objects without using a command bus.

Nb: I also added an example which was basically copied from the `event-sourced-domain-with-test` but changed such that it uses the new `AggregateRootScenarioTestCase` class.
It might be better to use a different example and also add a testcase for `EventSourcedEntity`.
Can you rename this to `getAggegateRootClass()`?

Let's also add a method (with a default implementation):
`protected function getAggregateRootFactory() { return new PublicConstructorAggregateFactory(); }`

That would allow developers to override the method and use a different aggregate factory (like the `NamedConstructorAggregateFactory`).