Re-organized the functions in C++ Resources.

Review: https://reviews.apache.org/r/28078
A few style fixes for C++ Resources and tests.

Review: https://reviews.apache.org/r/28088
Refactored operators for Resource object and made them private.

Review: https://reviews.apache.org/r/28089
Killed ports allocation in C++ Resources.

Review: https://reviews.apache.org/r/28090
Always store validated and combined Resource objects in C++ Resources.

Review: https://reviews.apache.org/r/28091
Replaced size() with empty() in C++ Resources.

Review: https://reviews.apache.org/r/28093
Replaced <= with contains() in C++ Resources.

Review: https://reviews.apache.org/r/28094
Fixed a bug in operator -= for Value::Set.

Review: https://reviews.apache.org/r/28142
Eliminated the copying in Resource addition and subtraction.

Review: https://reviews.apache.org/r/28143
Pull Metrics struct out of Slave class.

Review: https://reviews.apache.org/r/28058/
Added slave active field in state.json.

Review: https://reviews.apache.org/r/28260
Removed trailing diff/ from review line in commit message.

Review: https://reviews.apache.org/r/28205
Simplified label JSON modeling with JSON::Protobuf.

JSON fields doesn't need to be set explicitly, so label modeling can
be simplified with JSON::Protobuf.

Review: https://reviews.apache.org/r/28287
Allowed turning off network socket statistics collection.

Review: https://reviews.apache.org/r/28295
Added DiskInfo to the Resource protobuf.

Review: https://reviews.apache.org/r/27550
Fixed the tab issue in mesos.proto.
Removed unnecessary calls to Shutdown() in the reconciliation tests.

Review: https://reviews.apache.org/r/28265
Added a task reconciliation continuation for re-use in the Master.

Review: https://reviews.apache.org/r/28266
Updated killTask to perform reconciliation for unknown tasks.

Review: https://reviews.apache.org/r/28267
Changed master label test to strictly enforce format.

Review: https://reviews.apache.org/r/28293