Added version check in CachingEventSourcingRepository

The CachingEventSourcingRepository checks whether the requested aggregate
version matches the actual version of the aggregate in the cache. If it doesn't
match, the aggregate is loaded from the event store, to keep track of
potentially unseen events.
Future versions will optimize this, and only load unseen events from the event
store.

Issue #AXON-149 Fixed
Issue #AXON-149 Fixed in 2.0.3