Updated Log::Reader and Log::Writer to be asynchronous.

Review: https://reviews.apache.org/r/17342
Exposed coordinator demotion.

A demotion was captured as a failed future which makes it hard to
distinguish from a non-retryable failure. By returning an option for
Coordinator::append and Coordinator::truncate we can distinguish
demotion from a failure.

Review: https://reviews.apache.org/r/17343
Simplified coordinator election semantics.

Review: https://reviews.apache.org/r/17344
Replaced Log::Writer constructor with explicit Log::Writer::start.

Review: https://reviews.apache.org/r/17345
Exposed coordinator demotion in Log.

Review: https://reviews.apache.org/r/17346
Used EXPECT_SOME_EQ in log tests.

Review: https://reviews.apache.org/r/18263
Add --version flag to mesos master and slave.

Review: https://reviews.apache.org/r/18945