Replace bindStartupAction with Service registration

This attempts to kill LifecycleModule in favor of service registration.

Testing Done:
./gradlew -Pq build

Bugs closed: AURORA-920

Reviewed at https://reviews.apache.org/r/27757/
Fail builds if not compiled with Gradle 2.2

Bugs closed: AURORA-941

Reviewed at https://reviews.apache.org/r/28302/
Avoid creating garbage copies of Snapshot#tasks and AssignedTask#task.

Testing Done:
./gradlew -Pq build

Suggestions on how to better test this are welcome.

Bugs closed: AURORA-930

Reviewed at https://reviews.apache.org/r/28272/
Return an iterable of frame chunks.

Stream frame chunks instead of preallocating them.

This avoids allocating an entire additional snapshot worth
of heap during entry serialization, reducing overall heap
impact of the serializer from 2*sizeof(serialized-entry) to
sizeof(serialized-entry)+chunkSize.

Further optimizations out-of-scope for this change:

* Make the returned iterator mutate a fixed-size buffer (for GC
  pressure avoidance).
* Change the log format so that FrameHeader doesn't need to know the
  size and checksum of the serialized data ahead-of-time (maybe write
  it as a trailer).

Testing Done:
./gradlew -Pq build

Bugs closed: AURORA-930

Reviewed at https://reviews.apache.org/r/28306/
Extract a cluster state abstraction from PreemptorImpl.

Bugs closed: AURORA-121

Reviewed at https://reviews.apache.org/r/28310/
Remove ReadWriteLock from MemStorage, remove Storage#weaklyConsistentRead.

Bugs closed: AURORA-929

Reviewed at https://reviews.apache.org/r/28097/
Prevent Aurora from creating zero sized Executor tasks.

Bugs closed: AURORA-928

Reviewed at https://reviews.apache.org/r/28193/
Make PreemptorImpl package private.

Reviewed at https://reviews.apache.org/r/28360/
Adding cron check into aurora beta-update start.

Bugs closed: AURORA-921

Reviewed at https://reviews.apache.org/r/28398/
Bump the min coverage values.

Reviewed at https://reviews.apache.org/r/28409/
Disambiguate tag push from branch push in release script.

Reviewed at https://reviews.apache.org/r/28447/
In review bot, tee test output rather than piping to a file.

Reviewed at https://reviews.apache.org/r/28452/
Extract thrift into an API subproject.

Testing Done:
./gradlew -Pq build
./pants src/test/python:all

Bugs closed: AURORA-925

Reviewed at https://reviews.apache.org/r/28361/
Fix resolutionStrategy to be global.

Testing Done:
./gradlew -Pq build

Reviewed at https://reviews.apache.org/r/28460/
Improving messages in CronJobManager.

Bugs closed: AURORA-924

Reviewed at https://reviews.apache.org/r/28445/
Fixing admin query command

Bugs closed: AURORA-936

Reviewed at https://reviews.apache.org/r/28450/
Adding quota check into replaceCronTemplate rpc.

Bugs closed: AURORA-946

Reviewed at https://reviews.apache.org/r/28411/
Move thermos_runner out of the apache.aurora.executor package.

The drawback of having it in the apache.aurora.executor package is that if
we want to build a thermos_runner binary from the apache.aurora.executor
distribution, it transitively pulls in mesos.native, making the
thermos_runner pex like 70MB.  thermos_runner.pex really only has
dependencies within apache.thermos and the thermos_runner exit-code contract
is a bit more clear now, so putting it into apache.thermos makes a bit more
sense now.  it also makes thermos_runner.pex 566k instead of 70MB.  it also
fixes AURORA-823.

Testing Done:
build-support/jenkins/build.sh

Bugs closed: AURORA-823

Reviewed at https://reviews.apache.org/r/28345/