Removed MessageId from metadata

It is stored by EventStore directly
Code cleanup
Added New Persisted Event types

Used to represent events that are in the event
store and already have a stream and eventnumber
Renamed MessageId to EventId

First with EventStore naming convention
Reuse event handler run code
Added StandardConventions module

Used to capture standard patterns
Added State snapshot
Support state change handlers