Refactor event log to support serialization/deserialization of events.
Add generic types to state log.
Add serializer to core Copycat configuration.
Update state machine to use typed state log.
Remove cluster configuration change support.
Add constructors for collections.