Added a log line to indicate framework rate limiting is enabled.

Review: https://reviews.apache.org/r/22745
Removed the wait in StartMaster() for the master to get elected before returning because it's no longer necessary.

- Cluster::Masters::start now wait for the master to be recovered, which happens only after it's elected.

Review: https://reviews.apache.org/r/22856
Refactored the querying and parsing of metrics snapshot into a MACRO.

Review: https://reviews.apache.org/r/22639
Added more tests for framework rate limiting.

Review: https://reviews.apache.org/r/22740
Added flags::parse() overload for RateLimits protobuf.

Review: https://reviews.apache.org/r/22758
Added support for optionally throttling the frameworks not specified in RateLimits config.

Review: https://reviews.apache.org/r/22777
Add task health check and integrate with command executor.

Added task health check process that is launched with the command
executor if health check is configured.

It runs configured health check command and return the status to the
executor to report the task health. The executor also reports the task
health status back to the scheduler.

The task health process keeps internal state based on health check
configuration, and determine when the task it is checking for should
be killed. Currently it's based on the number of consecutive failures
it observed. Once the condition meets it sends a task health status
update with a kill task flag turned on, and the executor will kill the
task.

Review: https://reviews.apache.org/r/22579
Ensured the master's work directory is created during start up.
Build errors with libprocess subprocess and clang.
Added 'bool' return value to Containerizer::launch.
Added composing containerizer and --containerizers flag.
Added a 'Docker' abstraction.
Added a Docker containerizer.
Bug fixes and cleanups in Docker abstraction.
Integrated DockerContainerizer.
Updated an example to use ContainerInfo to run Docker.