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