`Next` is considered a public function
Locking eventPublishers on read

...to avoid a race condition, since maps are not synchronized.
Bugfix: Reusing given newId

...not simply using a new one every time.
Bugfix: Making correct RWMutex locking
Reusing `eventStoreKey` logic

This encapsulates the logic of serializing and deserializing event store
keys.
Removing unnecessary TODO

There's is currently no usecase to unregister a listener.
Reusing `eventStoreKey` in comparer
Minor: Fix broken format of function name
Initializing streamIdGenerator from database
Minor: Fixing incorrect CamelCase of function
Making a couple of TODOs FIXMEs

I'll focus on getting them working first.
Documentation fix: Typo
Removing a couple of already fixed TODOs
Documentation: Fixing broken sentences
Minor: Documentation improvement