AURORA-214: Make sandboxes safer.

Testing Done:
./pants src/test/python/apache/aurora/executor/common:directory_sandbox -v

Bugs closed: AURORA-204

Reviewed at https://reviews.apache.org/r/17913/
Moving RUN_OVERLAP check into receiveJob() to prevent failure on startup.

Bugs closed: AURORA-210

Reviewed at https://reviews.apache.org/r/17955/
Implementing support for DRAINING state.

Bugs closed: AURORA-82

Reviewed at https://reviews.apache.org/r/17723/
Fixing python test failure.

Reviewed at https://reviews.apache.org/r/18086/
Added rollback_on_failure to UpdateConfig

Bugs closed: AURORA-148

Reviewed at https://reviews.apache.org/r/17645/
Added LeaderRedirectFilter to scheduler home page.

Testing Done:
gradle clean build
tested on localhost, verified behavior via log statements.

Bugs closed: AURORA-211

Reviewed at https://reviews.apache.org/r/18036/
Adding "sla get_task_up_count command".

Bugs closed: AURORA-206

Reviewed at https://reviews.apache.org/r/18042/
Cron predictor conformance test.

Quartz doesn't support "standard" cron syntax (as described in
crontab(5)[1]) and deviates [2] in a lot of ways that would lock us into
it. Some of the ways it varies include:
  * '00' is not a valid minute
  * day-of-week is 1-indexed instead of 0-indexed
  * it supports a seconds field, which is an unrealistic constraint for aurora to deliver
  * the common "* * * * *" pattern is invalid

Rather than adopt Quartz's syntax I propose introducing a translation
layer that will allow users to write in the more familiar crontab
syntax. This change adds test data that can be used as a conformance
test - a valid CronPredictor implementation must both accept the same
syntax and make the same predictions as those referenced here. In a
future review I will introduce a Quartz cron subsystem that passes this
test.

[1] http://unixhelp.ed.ac.uk/CGI/man-cgi?crontab+5
[2] http://quartz-scheduler.org/documentation/quartz-2.2.x/tutorials/tutorial-lesson-06

Testing Done:
./gradlew build

Bugs closed: AURORA-132

Reviewed at https://reviews.apache.org/r/18149/
Add task noun, supporting "run" and "ssh" verbs.

Bugs closed: aurora-124

Reviewed at https://reviews.apache.org/r/17752/
AURORA-213: Pin aurora at pants==0.0.14-dev2

Testing Done:
git clean -fdx && ./pants py src/main/python/apache/aurora/client/bin:aurora_admin
src/test/sh/org/apache/aurora/e2e/test_end_to_end.sh

Bugs closed: AURORA-213

Reviewed at https://reviews.apache.org/r/18229/
Implement help message generation for the noun/verb framework.

Bugs closed: aurora-202

Reviewed at https://reviews.apache.org/r/17948/
Use GMT in generated cron predictions.

Testing Done:
Manual inspection.

Reviewed at https://reviews.apache.org/r/18244/
Remove appapp references from schema

Reviewed at https://reviews.apache.org/r/18163/
Fix python tests on master

Reviewed at https://reviews.apache.org/r/18248/
Add kevints CODE SIGNING KEY to KEYS.

Reviewed at https://reviews.apache.org/r/18247/
Use user.signingkey for tag-signing.

Rather than use UID require an explicitly-set key ID, following recommendations at [1].

[1] http://www.apache.org/dev/openpgp.html

Testing Done:
Tested with user.signingkey set and unset on local merged master.

Reviewed at https://reviews.apache.org/r/18245/
Add a utility to list missing shipits.

This is a tool to assist committers in finding review requests that
require their attention (i.e. when the request is addressed to you
explicitly and missing a public shipit from you). It uses the
ReviewBoard API via "./rbt api-get" (thus avoiding the need to wire in
RB creds).

Testing Done:
~aurora git aurora/. kts/missing-shipits
% ./build-support/list-missing-shipits kevints
% ./build-support/list-missing-shipits kevints | wc -l
       7

Reviewed at https://reviews.apache.org/r/17823/
Added "sla get_job_uptime" command.

Bugs closed: AURORA-207

Reviewed at https://reviews.apache.org/r/18153/
Compute task host attribute aggregates once when scheduling tasks.

Reviewed at https://reviews.apache.org/r/18157/
Update gradle wrapper to 1.11

Release notes for intervening versions:

http://www.gradle.org/docs/1.9/release-notes
http://www.gradle.org/docs/1.10/release-notes
http://www.gradle.org/docs/1.11/release-notes

Also added the 'project-report' plugin, which can generate a nice HTML
dependency report (added in 1.9).

  $ ./gradlew htmlDependencyReport
  $ open dist/reports/project/dependencies/index.html

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