smoketest.py: Fix bug in handling of --servers argument
Turn compiler optimizations on for RELEASE builds
Turn off RaftInvariants for RELEASE builds

That drops latency by ~20% for 1000 back-to-back writes.
Remove dead code
Overlap leader disk flush with replication

This changes the leader to fsync in a separate thread without holding
onto the big RaftConsensus lock. It won't count its vote towards
commitment until the fsync is done, so safety is preserved.

This should cut latency signficantly compared to waiting for the leader
to fsync before sending AppendEntries requests. (Latency is still
terrible, however, until I clean up and push the new storage module.)

The actual code changes for this are fairly localized, but they blew up
a lot of tests.