Initial clustering functionality for clustered esdb stream.
Add indexing of events to the cluster.
Add option to iterate through stream (no pagination yet)
Handle index scans and limits on events returned.
Allow and return offsets when scanning/iterating to allow continuations
from where a client left off.
Event pagination, return and allow continuations.
Add public offset method to streams
Add ability to rotate streams after a certain offset is reached.
Merge branch 'master' into cluster
Scan/Iterate through all previously rotated stream files.
Properly recover and read back through closed streams.
Snapshot the raft log after every stream rotation, and recover on
reboot.
Add logging for stream closing and raft log rotation.
Allow recovery of closed streams from other nodes (if node is offline or
added to the cluster after a log rotation has occurred)
Increase rotate threshold to 2 gigs.
Don't set reply unless we get back a valid response.
Lower rotate threshold to 100 megs.
Rotate via fixed number of events, rather than a rotate command.
Use our fork of raft, which fixes currentIndex bug.  Use raft commit
index as stream identity.
Enable snapshotting of the raft log again