Fix a bug in the client.

If a new config was published, it would get stuck in a loop forever
being notified of the new config and never actually fetching it.
Re-deliver messages that arrive too early.
Add sequence numbers to logged transfer state
Set has_value to true in decode_key_value
Check for retransmissions first to log less false positives.
Fix the replication stress test and make it pass
Make (req_id, seq_id) -> (ri, req_id, seq_id)
Block signals in background threads
Garbage collect (req_id, seq_id) pairs
Customizable ft/partitioning parameters at space creation time
Add range searches to the Python bindings
Fix leveldb-dump output
Don't send CHAIN_GC after reconfigure; wait 30s instead
Fix the limits of range searches

INT64_MIN, INT64_MAX caused problems.  As a side effect, we have range searches
on strings (will contact all nodes).
Harden the shutdown of a single daemon.

LevelDB requires that a database outlive its snapshots, which in turn must
outlive their iterators.  This change enforces this across the code by keeping
our own reference counts to ensure that no matter what order we shutdown, we do
shutdown cleanly.  A segfault leaves LevelDB in a less-nice place than a clean
shutdown, making future startup hard.
Use fprintf for logging in line with replicant changes
Add a unique cluster id to prevent cross-cluster connections
Make ^C responsive when daemon is sleeping

If the coordinator connection fails, we must back off.  This involves a sleep.
If a ^C comes in when sleeping, then we must handle it (near) immediately.
Add a tool to initialize replicant (including the token)
Increase the log verbosity of the coordinator

Log actions like adding/removing spaces, and why things fail