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.
Added a VLOG for ping message in slave.
Exposed constructors for types declared in Log.java.

This allows java API users to construct objects in tests without extra
hoop-jumping.

This patch also fixed some javadoc errors.

Review: https://reviews.apache.org/r/22837
Updates PoweredByMesos documentation.