Refactor cgroups::internal::Freezer.

The Freezer tries to converge to the "FROZEN" state by repeatedly (every
100 ms) writing "FROZEN" to the freezer.state control file. It assumes
there are two possible reasons why a process does not get frozen during
an attempt:

1. It was in the middle of being forked and did not receive the signal;
it will receive it at the next attempt.

2. It is in uninterruptable sleep ("D" state). Normally, this is from
device I/O or paging and is shortlived, in which case it'll be frozen on
retry. However, processes can get stuck in "D" state, either because of
a device issue, incorrect OOM handling, or kernel bugs. Under this
scenario the correct behavior is to fail after a timeout (defaults to 60
seconds).

Freezer functions have been namespaced under cgroups::freezer.

Review: https://reviews.apache.org/r/20817
Refactored cgroups::destroy to use a single pass.

internal::Destroyer now uses a single pass of freeze, kill, thaw, reap
to kill all processes in a freezer cgroup. cgroups::destroy will not
complete until all processes have been reaped.

Added tests for destroying a freezer cgroup containing a stopped
process or a traced process.

Review: https://reviews.apache.org/r/20818
Use a timeout to discard cgroups::destroy.

A default duration of 60 seconds is used before a cgroups::destroy is
discarded.

Review: https://reviews.apache.org/r/22064
Only report cpu.stat values if CFS quota is enabled.

Review: https://reviews.apache.org/r/22691
Fix SlaveRecoveryTest.Reboot test to reap executor.

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

Review: https://reviews.apache.org/r/22690
Allowed IP to be implicitly constructed from a u32 address.

Review: https://reviews.apache.org/r/22686
Exposed tests utils in stout.

Review: https://reviews.apache.org/r/22696
Added "per-framework-principal" counters for messages from a scheduler to the master.

Review: https://reviews.apache.org/r/22316
Changed RateLimiter to work directly with 'double permitsPerSecond'.

Review: https://reviews.apache.org/r/22424
Created framework rate limits protobuf object which is loaded as JSON through master flags.

Review: https://reviews.apache.org/r/22425
Changed MessageEvent and ExitedEvent to be copyable.

Review: https://reviews.apache.org/r/22426
Implemented framework API rate limiting.

Review: https://reviews.apache.org/r/22427
Send status update acknowledgements through the master.

Review: https://reviews.apache.org/r/22592
Revert "Allowed IP to be implicitly constructed from a u32 address."

This reverts commit cdbd8bb18c9f43f84d4a17ad27346b7b6439d6d8.
Ensured the scheduler driver IDs are unique.

Review: https://reviews.apache.org/r/21667
Initial import for health check
Fixed Protobuf to JSON serialization of optional fields with default values.

Previously, only optional fields which where explicitly set would be serialized regardless whether default values was present.
This patch adds those fields explicitly.

Review: https://reviews.apache.org/r/21246
Cleaned up JSON work
Snapshot of current health check program.