Refactored the Registrar to push the operations to the callers.

Review: https://reviews.apache.org/r/19372
Changed tabs to spaces in master.cpp.
Fixed a bug to properly re-register an authenticating framework.

Review: https://reviews.apache.org/r/19542
Added support for specifying logging level via flag.

minloglevel flag is passed as an argument to the command line and it
configures the level of logging to stderr and file. It can take INFO,
WARNING, ERROR or FATAL values. All log messages at or above the
configured log level will be printed.

If 'quiet' flag is also passed to the command line, minloglevel will
affect just the logs from file (if configured by log_dir flag)

Review: https://reviews.apache.org/r/19357
MESOS-610: Split slave specific tests out of master_tests.

Review: https://reviews.apache.org/r/18752
Added tests for Cache.

Review: https://reviews.apache.org/r/19501
Implemented the Registry-backed Master.

Review: https://reviews.apache.org/r/19383
Added utility functions in stout to return MAC addresses.

Review: https://reviews.apache.org/r/19556
Added utility functions to get IPv4 address of a given link device.

Review: https://reviews.apache.org/r/19602
Fixed MESOS-1055: explicit single-argument constructors.

Put "explicit" in front of all single-argument constructors in C++
Mesos source code. (Omitted lib process, filed a separate issue for
it.)

Review: https://reviews.apache.org/r/18823
Changed executorStarted to executorLaunched.

See summary. Part of task-info patch split:
https://reviews.apache.org/r/18403/

Review: https://reviews.apache.org/r/19632
Added signal escalation to command executor.

This patch adds a two step signal escalation: 1) SIGTERM is sent to
the process tree 2) If the process tree root hasn't been reaped within
escalationTimeout (3 seconds), SIGKILL is sent to the process tree.
Currently, this may leave behind orphan processes if parent processes
terminates and leave non-responsive processes behind. This will be
captured when PID namespaces are in place, as the orphan processes
will end up hanging off the process tree root instead of init.

Review: https://reviews.apache.org/r/19239
Updated CHANGELOG for 0.18.0-rc5.
Added an "asynchronous" mutex.

Review: https://reviews.apache.org/r/18950
Simplified future await latch semantics.

Now a latch is created per 'await' and the 'onAny' callbacks are used
to set the latch removing the need to maintain and set a "global" per
future latch.

Review: https://reviews.apache.org/r/18951
Increased thread-safety of Promise::associate.

Most of Promise is thread-safe because Future is thread safe, except
for associations. An 'associate' bool was added to avoid duplicate
associations or doing a set/fail/discard on a promise after it has
been associated.

Review: https://reviews.apache.org/r/18952
Improved thread-safety of Latch.

Review: https://reviews.apache.org/r/18953
Added Future::after.

Review: https://reviews.apache.org/r/18954
Fixed JSON to protobuf parsing for enums.

Review: https://reviews.apache.org/r/19003
Minor C++11 bug fix.