SimpleFileLog: remove dead code
Add --cluster option to SmokeTest and HelloWorld binaries
Import docopt library

This comes from commit 05125ddcd1750f7e5ed373044910e224e1e636ed of
https://github.com/docopt/docopt/. The file header is modified slightly
to include the MIT license it's released under.
Rewrite initlog.py argument parsing with docopt
Add argument parsing to smoketest.py

It no longer respects the environment variable SMOKETEST_WRAPPER;
instead, you can now specify this as part of --client.

It can now take arguments to Reconfigure so that you can specify a
different cluster name than the default.
Fix RELEASE build

Before, unit tests would fail and SmokeTest would stall due to libevent
not being initialized before use.
Fix CPU usage for servers without a configuration

Before, a timer would fire for the server to start a new election, which
would return immediately, and repeat infinitely. Now it sets the usual
election timer in that case, which allows the CPU to idle.