Re-vamp storage
Major changes:
- #26 Separates storage type from event metadata container
- #29 Lock event store per stream, to enable better concurrency (fixes #25)
Improvements and fixes:
Summary:
Before, it was pretty awkward to get a hold of both the metadata of an event (timestamp, version etc) and the actual payload, because the payload was stored in serialized form on the metadata wrapper.
In this release, the storage type of the event is separated from the metadata container, making it easier to create state projections that use the metadata as well as the payload.