extracting the EventStoreSerializationHelper usable for serializing and deserializing objects

The helper manages the serializer mappings and persists them. It provides methods for deserializing a byte array containing a type byte and the objects serialization and for serializing an object into a byte array.

Adapting the ChronicleBasedEventStore to make use of the helper