Fix indentation in tutorial

Testing Done:
Pushed to github branch and verified formatting.

Reviewed at https://reviews.apache.org/r/17507/
Upgrade mesos to 0.15.0

Upgrade mesos dependency to 0.15.0

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

Bugs closed: AURORA-115

Reviewed at https://reviews.apache.org/r/17475/
AURORA-139: When trying to schedule a task, only query once for active tasks
in the job.

One functional change in this diff is the removal of a filter in
AttributeFilter, which was unnecessary since the query was already job-scoped.
The filter existed because at one point we supported job configurations that
could request to avoid other jobs, so the task set would include other jobs.

Bugs closed: AURORA-139

Reviewed at https://reviews.apache.org/r/17578/
AURORA-136: SchedulerLifecycle ACTIVE state is unused

Removes the unused REGISTERED_LEADER state and replaces it with the
ACTIVE status.

Bugs closed: AURORA-136

Reviewed at https://reviews.apache.org/r/17579/
AURORA-108: make set_quota in aurora_admin require explicit units

set_quota now requies a specific unit (M or G) as input.

This means that arguments to set_quote should resemble the following:
    set_quota(<cluster>, <role>, <cpu>, '50M', '20G')
    set_quota(<cluster>, <role>, <cpu>, '50G', '20G')

Testing Done:
Passes local tests. I could not find a test that tests the quota for the cli client so this patch does not contain an dedicated test case.

Bugs closed: AURORA-136

Reviewed at https://reviews.apache.org/r/17581/
Fix whitespace glitches I missed in review.

Fix whitespace glitches.

Reviewed at https://reviews.apache.org/r/17614/
Adding DRAINING state into api.thrift.

Splitting this work into 2 steps to ensure schema compatibility between releases.
Step1: Adding DRAINING state into api.thrift and rewriting DRAINING to RESTARTING in StorageBackfill.

To come:
Step2: Implement support for DRAINING in state machine.

Testing Done:
gradle clean build

Reviewed at https://reviews.apache.org/r/17666/
Adding PGP key for maxim@apache.org

Reviewed at https://reviews.apache.org/r/17676/
change max backoff timeout to be compatible with the hardcoded preemption_wait.

Reviewed at https://reviews.apache.org/r/17683/
AURORA-183: Upgrade twitter.common.python to 0.3.0

Use the new "pex" utility from twitter.common.python to bootstrap pants
rather than relying on knowledge of the inner workings of
twitter.common.python APIs. I also took the opportunity to refactor the
common "maybe bootstrap a virtualenv" pattern used with some support
tools to use a consistent build-support/NAME.venv pattern.

Testing Done:
Ran ./pants, ./rbt, ./build-support/pex,
./build-support/release/make-python-sdists from clean and dirty repos.

./pants src/test/python:all

Bugs closed: AURORA-183

Reviewed at https://reviews.apache.org/r/17679/
Fixing submit instructions.

Reviewed at https://reviews.apache.org/r/17689/
Added THROTTLED state to scheduler UI.

Testing Done:
gradle clean build
gradle run

Bugs closed: AURORA-150

Reviewed at https://reviews.apache.org/r/17715/
Initial version of an end-to-end test using vagrant

Currently creates a job, probes it via the scheduler pages,  updates it, and kills it.
AURORA-127 will extend this to run multiple instances; AURORA-125 will extend this to use
"aurora run" and "aurora ssh" to probe the running tasks.

Testing Done:
[sun-wukong incubator-aurora (e2e)]$ sh src/test/sh/org/apache/aurora/e2e/test_end_to_end.sh
Bringing machine 'devtools' up with 'virtualbox' provider...
Bringing machine 'zookeeper' up with 'virtualbox' provider...
Bringing machine 'mesos-master' up with 'virtualbox' provider...
Bringing machine 'mesos-slave' up with 'virtualbox' provider...
Bringing machine 'aurora-scheduler' up with 'virtualbox' provider...
[devtools] VirtualBox VM is already running.
[zookeeper] VirtualBox VM is already running.
[mesos-master] VirtualBox VM is already running.
[mesos-slave] VirtualBox VM is already running.
[aurora-scheduler] VirtualBox VM is already running.
Cloning into '/home/vagrant/test_dev'...
done.
Already on 'e2e'
Already up-to-date.
+ VIRTUALENV_VERSION=1.10.1
+ which python2.7
++ which python2.7
+ PY=/usr/bin/python2.7
+ echo 'Using /usr/bin/python2.7'
Using /usr/bin/python2.7
+ '[' -f build-support/virtualenv-1.10.1/BOOTSTRAPPED ']'
+ pushd build-support
~/test_dev/build-support ~/test_dev
+ curl -O https://pypi.python.org/packages/source/v/virtualenv/virtualenv-1.10.1.tar.gz
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 1294k  100 1294k    0     0  3261k      0 --:--:-- --:--:-- --:--:-- 3817k
+ tar zxvf virtualenv-1.10.1.tar.gz
virtualenv-1.10.1/
virtualenv-1.10.1/AUTHORS.txt
virtualenv-1.10.1/bin/
virtualenv-1.10.1/bin/rebuild-script.py
virtualenv-1.10.1/docs/
virtualenv-1.10.1/docs/_theme/
virtualenv-1.10.1/docs/_theme/nature/
virtualenv-1.10.1/docs/_theme/nature/static/
virtualenv-1.10.1/docs/_theme/nature/static/nature.css_t
virtualenv-1.10.1/docs/_theme/nature/static/pygments.css
virtualenv-1.10.1/docs/_theme/nature/theme.conf
virtualenv-1.10.1/docs/conf.py
virtualenv-1.10.1/docs/index.rst
virtualenv-1.10.1/docs/make.bat
virtualenv-1.10.1/docs/Makefile
virtualenv-1.10.1/docs/news.rst
virtualenv-1.10.1/LICENSE.txt
virtualenv-1.10.1/MANIFEST.in
virtualenv-1.10.1/PKG-INFO
virtualenv-1.10.1/README.rst
virtualenv-1.10.1/scripts/
virtualenv-1.10.1/scripts/virtualenv
virtualenv-1.10.1/setup.cfg
virtualenv-1.10.1/setup.py
virtualenv-1.10.1/virtualenv.egg-info/
virtualenv-1.10.1/virtualenv.egg-info/dependency_links.txt
virtualenv-1.10.1/virtualenv.egg-info/entry_points.txt
virtualenv-1.10.1/virtualenv.egg-info/not-zip-safe
virtualenv-1.10.1/virtualenv.egg-info/PKG-INFO
virtualenv-1.10.1/virtualenv.egg-info/SOURCES.txt
virtualenv-1.10.1/virtualenv.egg-info/top_level.txt
virtualenv-1.10.1/virtualenv.py
virtualenv-1.10.1/virtualenv_embedded/
virtualenv-1.10.1/virtualenv_embedded/activate.bat
virtualenv-1.10.1/virtualenv_embedded/activate.csh
virtualenv-1.10.1/virtualenv_embedded/activate.fish
virtualenv-1.10.1/virtualenv_embedded/activate.ps1
virtualenv-1.10.1/virtualenv_embedded/activate.sh
virtualenv-1.10.1/virtualenv_embedded/activate_this.py
virtualenv-1.10.1/virtualenv_embedded/deactivate.bat
virtualenv-1.10.1/virtualenv_embedded/distutils-init.py
virtualenv-1.10.1/virtualenv_embedded/distutils.cfg
virtualenv-1.10.1/virtualenv_embedded/site.py
virtualenv-1.10.1/virtualenv_support/
virtualenv-1.10.1/virtualenv_support/__init__.py
virtualenv-1.10.1/virtualenv_support/pip-1.4.1.tar.gz
virtualenv-1.10.1/virtualenv_support/setuptools-0.9.8.tar.gz
+ touch virtualenv-1.10.1/BOOTSTRAPPED
~/test_dev
+ popd
+ exec /usr/bin/python2.7 build-support/virtualenv-1.10.1/virtualenv.py /tmp/pants.BqUkIw/tcp
New python executable in /tmp/pants.BqUkIw/tcp/bin/python2.7
Also creating executable in /tmp/pants.BqUkIw/tcp/bin/python
Installing Setuptools..............................................................................................................................................................................................................................done.
Installing Pip.....................................................................................................................................................................................................................................................................................................................................done.
/tmp/pants.BqUkIw ~/test_dev
Downloading/unpacking twitter.common.python==0.2.0
  Running setup.py egg_info for package twitter.common.python

Downloading/unpacking setuptools==1.1.7 (from twitter.common.python==0.2.0)
  Running setup.py egg_info for package setuptools

Installing collected packages: twitter.common.python, setuptools
  Running setup.py install for twitter.common.python
    Skipping installation of /tmp/pants.BqUkIw/tcp/lib/python2.7/site-packages/twitter/__init__.py (namespace package)
    Skipping installation of /tmp/pants.BqUkIw/tcp/lib/python2.7/site-packages/twitter/common/__init__.py (namespace package)

    Installing /tmp/pants.BqUkIw/tcp/lib/python2.7/site-packages/twitter.common.python-0.2.0-py2.7-nspkg.pth
  Found existing installation: setuptools 0.9.8
    Uninstalling setuptools:
      Successfully uninstalled setuptools
  Running setup.py install for setuptools

    Installing easy_install script to /tmp/pants.BqUkIw/tcp/bin
    Installing easy_install-2.7 script to /tmp/pants.BqUkIw/tcp/bin
Successfully installed twitter.common.python setuptools
Cleaning up...
twitter.common.python: Obtaining twitter.pants==0.0.13
twitter.common.python: Obtaining twitter.pants==0.0.13 :: Installing twitter.pants
twitter.common.python: Obtaining twitter.pants==0.0.13 :: Distilling twitter.pants
twitter.common.python: Obtaining twitter.pants==0.0.13: 1413.4ms
twitter.common.python:   Installing twitter.pants: 0.4ms
twitter.common.python:   Distilling twitter.pants: 798.7ms
twitter.common.python: Obtaining twitter.common.quantity==0.1.0
twitter.common.python: Obtaining twitter.common.quantity==0.1.0 :: Installing twitter.common.quantity
twitter.common.python: Obtaining twitter.common.quantity==0.1.0 :: Distilling twitter.common.quantity
twitter.common.python: Obtaining twitter.common.quantity==0.1.0: 646.7ms
twitter.common.python:   Installing twitter.common.quantity: 0.2ms
twitter.common.python:   Distilling twitter.common.quantity: 94.6ms
twitter.common.python: Obtaining elementtree
twitter.common.python: Obtaining elementtree :: Installing elementtree
twitter.common.python: Obtaining elementtree :: Distilling elementtree
twitter.common.python: Obtaining elementtree: 1681.4ms
twitter.common.python:   Installing elementtree: 0.2ms
twitter.common.python:   Distilling elementtree: 140.7ms
twitter.common.python: Obtaining twitter.common.config==0.1.0
twitter.common.python: Obtaining twitter.common.config==0.1.0 :: Installing twitter.common.config
twitter.common.python: Obtaining twitter.common.config==0.1.0 :: Distilling twitter.common.config
twitter.common.python: Obtaining twitter.common.config==0.1.0: 490.8ms
twitter.common.python:   Installing twitter.common.config: 0.2ms
twitter.common.python:   Distilling twitter.common.config: 92.8ms
twitter.common.python: Obtaining ansicolors
twitter.common.python: Obtaining ansicolors :: Installing ansicolors
twitter.common.python: Obtaining ansicolors :: Distilling ansicolors
twitter.common.python: Obtaining ansicolors: 603.0ms
twitter.common.python:   Installing ansicolors: 0.2ms
twitter.common.python:   Distilling ansicolors: 86.1ms
twitter.common.python: Obtaining twitter.common.confluence==0.1.0
twitter.common.python: Obtaining twitter.common.confluence==0.1.0 :: Installing twitter.common.confluence
twitter.common.python: Obtaining twitter.common.confluence==0.1.0 :: Distilling twitter.common.confluence
twitter.common.python: Obtaining twitter.common.confluence==0.1.0: 759.4ms
twitter.common.python:   Installing twitter.common.confluence: 0.3ms
twitter.common.python:   Distilling twitter.common.confluence: 95.8ms
twitter.common.python: Obtaining psutil==1.1.2
twitter.common.python: Obtaining psutil==1.1.2 :: Installing psutil
twitter.common.python: Obtaining psutil==1.1.2 :: Distilling psutil
twitter.common.python: Obtaining psutil==1.1.2: 1487.2ms
twitter.common.python:   Installing psutil: 0.4ms
twitter.common.python:   Distilling psutil: 446.3ms
twitter.common.python: Obtaining pygments
twitter.common.python: Obtaining pygments: 761.2ms
twitter.common.python: Obtaining twitter.common.decorators==0.1.0
twitter.common.python: Obtaining twitter.common.decorators==0.1.0 :: Installing twitter.common.decorators
twitter.common.python: Obtaining twitter.common.decorators==0.1.0 :: Distilling twitter.common.decorators
twitter.common.python: Obtaining twitter.common.decorators==0.1.0: 582.7ms
twitter.common.python:   Installing twitter.common.decorators: 0.2ms
twitter.common.python:   Distilling twitter.common.decorators: 94.8ms
twitter.common.python: Obtaining pytest
twitter.common.python: Obtaining pytest :: Installing pytest
twitter.common.python: Obtaining pytest :: Distilling pytest
twitter.common.python: Obtaining pytest: 1700.3ms
twitter.common.python:   Installing pytest: 0.3ms
twitter.common.python:   Distilling pytest: 413.1ms
twitter.common.python: Obtaining pylint
twitter.common.python: Obtaining pylint :: Installing pylint
twitter.common.python: Obtaining pylint :: Distilling pylint
twitter.common.python: Obtaining pylint: 1301.7ms
twitter.common.python:   Installing pylint: 0.3ms
twitter.common.python:   Distilling pylint: 440.7ms
twitter.common.python: Obtaining pytest-cov
twitter.common.python: Obtaining pytest-cov :: Installing pytest-cov
twitter.common.python: Obtaining pytest-cov :: Distilling pytest-cov
twitter.common.python: Obtaining pytest-cov: 532.5ms
twitter.common.python:   Installing pytest-cov: 0.2ms
twitter.common.python:   Distilling pytest-cov: 88.1ms
twitter.common.python: Obtaining twitter.common.process==0.1.0
twitter.common.python: Obtaining twitter.common.process==0.1.0 :: Installing twitter.common.process
twitter.common.python: Obtaining twitter.common.process==0.1.0 :: Distilling twitter.common.process
twitter.common.python: Obtaining twitter.common.process==0.1.0: 519.6ms
twitter.common.python:   Installing twitter.common.process: 0.2ms
twitter.common.python:   Distilling twitter.common.process: 110.1ms
twitter.common.python: Obtaining twitter.common.util==0.1.0
twitter.common.python: Obtaining twitter.common.util==0.1.0 :: Installing twitter.common.util
twitter.common.python: Obtaining twitter.common.util==0.1.0 :: Distilling twitter.common.util
twitter.common.python: Obtaining twitter.common.util==0.1.0: 520.6ms
twitter.common.python:   Installing twitter.common.util: 0.2ms
twitter.common.python:   Distilling twitter.common.util: 91.9ms
twitter.common.python: Obtaining markdown
twitter.common.python: Obtaining markdown :: Installing Markdown
twitter.common.python: Obtaining markdown :: Distilling Markdown
twitter.common.python: Obtaining markdown: 1247.1ms
twitter.common.python:   Installing Markdown: 0.5ms
twitter.common.python:   Distilling Markdown: 495.1ms
twitter.common.python: Obtaining twitter.common.python==0.2.2
twitter.common.python: Obtaining twitter.common.python==0.2.2 :: Installing twitter.common.python
twitter.common.python: Obtaining twitter.common.python==0.2.2 :: Distilling twitter.common.python
twitter.common.python: Obtaining twitter.common.python==0.2.2: 865.8ms
twitter.common.python:   Installing twitter.common.python: 0.3ms
twitter.common.python:   Distilling twitter.common.python: 238.7ms
twitter.common.python: Obtaining mako
twitter.common.python: Obtaining mako :: Installing Mako
twitter.common.python: Obtaining mako :: Distilling Mako
twitter.common.python: Obtaining mako: 1069.3ms
twitter.common.python:   Installing Mako: 0.3ms
twitter.common.python:   Distilling Mako: 291.9ms
twitter.common.python: Obtaining twitter.common.lang==0.1.0
twitter.common.python: Obtaining twitter.common.lang==0.1.0 :: Installing twitter.common.lang
twitter.common.python: Obtaining twitter.common.lang==0.1.0 :: Distilling twitter.common.lang
twitter.common.python: Obtaining twitter.common.lang==0.1.0: 796.2ms
twitter.common.python:   Installing twitter.common.lang: 0.2ms
twitter.common.python:   Distilling twitter.common.lang: 95.4ms
twitter.common.python: Obtaining twitter.common.collections==0.1.0
twitter.common.python: Obtaining twitter.common.collections==0.1.0 :: Installing twitter.common.collections
twitter.common.python: Obtaining twitter.common.collections==0.1.0 :: Distilling twitter.common.collections
twitter.common.python: Obtaining twitter.common.collections==0.1.0: 554.6ms
twitter.common.python:   Installing twitter.common.collections: 0.2ms
twitter.common.python:   Distilling twitter.common.collections: 103.2ms
twitter.common.python: Obtaining twitter.common.options==0.1.0
twitter.common.python: Obtaining twitter.common.options==0.1.0 :: Installing twitter.common.options
twitter.common.python: Obtaining twitter.common.options==0.1.0 :: Distilling twitter.common.options
twitter.common.python: Obtaining twitter.common.options==0.1.0: 614.5ms
twitter.common.python:   Installing twitter.common.options: 0.2ms
twitter.common.python:   Distilling twitter.common.options: 92.8ms
twitter.common.python: Obtaining twitter.common.dirutil==0.1.0
twitter.common.python: Obtaining twitter.common.dirutil==0.1.0 :: Installing twitter.common.dirutil
twitter.common.python: Obtaining twitter.common.dirutil==0.1.0 :: Distilling twitter.common.dirutil
twitter.common.python: Obtaining twitter.common.dirutil==0.1.0: 537.3ms
twitter.common.python:   Installing twitter.common.dirutil: 0.4ms
twitter.common.python:   Distilling twitter.common.dirutil: 109.1ms
twitter.common.python: Obtaining twitter.common.log==0.1.0
twitter.common.python: Obtaining twitter.common.log==0.1.0 :: Installing twitter.common.log
twitter.common.python: Obtaining twitter.common.log==0.1.0 :: Distilling twitter.common.log
twitter.common.python: Obtaining twitter.common.log==0.1.0: 766.4ms
twitter.common.python:   Installing twitter.common.log: 0.2ms
twitter.common.python:   Distilling twitter.common.log: 135.2ms
twitter.common.python: Obtaining py>=1.4.19
twitter.common.python: Obtaining py>=1.4.19 :: Installing py
twitter.common.python: Obtaining py>=1.4.19 :: Distilling py
twitter.common.python: Obtaining py>=1.4.19: 871.5ms
twitter.common.python:   Installing py: 0.3ms
twitter.common.python:   Distilling py: 319.6ms
twitter.common.python: Obtaining astroid>=0.24.3
twitter.common.python: Obtaining astroid>=0.24.3 :: Installing astroid
twitter.common.python: Obtaining astroid>=0.24.3 :: Distilling astroid
twitter.common.python: Obtaining astroid>=0.24.3: 967.3ms
twitter.common.python:   Installing astroid: 0.4ms
twitter.common.python:   Distilling astroid: 399.9ms
twitter.common.python: Obtaining logilab-common>=0.53.0
twitter.common.python: Obtaining logilab-common>=0.53.0 :: Installing logilab-common
twitter.common.python: Obtaining logilab-common>=0.53.0 :: Distilling logilab-common
twitter.common.python: Obtaining logilab-common>=0.53.0: 1364.0ms
twitter.common.python:   Installing logilab-common: 0.4ms
twitter.common.python:   Distilling logilab-common: 603.8ms
twitter.common.python: Obtaining cov-core>=1.6
twitter.common.python: Obtaining cov-core>=1.6 :: Installing cov-core
twitter.common.python: Obtaining cov-core>=1.6 :: Distilling cov-core
twitter.common.python: Obtaining cov-core>=1.6: 471.0ms
twitter.common.python:   Installing cov-core: 0.4ms
twitter.common.python:   Distilling cov-core: 93.6ms
twitter.common.python: Obtaining twitter.common.string==0.1.0
twitter.common.python: Obtaining twitter.common.string==0.1.0 :: Installing twitter.common.string
twitter.common.python: Obtaining twitter.common.string==0.1.0 :: Distilling twitter.common.string
twitter.common.python: Obtaining twitter.common.string==0.1.0: 579.7ms
twitter.common.python:   Installing twitter.common.string: 0.2ms
twitter.common.python:   Distilling twitter.common.string: 93.8ms
twitter.common.python: Obtaining twitter.common.contextutil==0.1.0
twitter.common.python: Obtaining twitter.common.contextutil==0.1.0 :: Installing twitter.common.contextutil
twitter.common.python: Obtaining twitter.common.contextutil==0.1.0 :: Distilling twitter.common.contextutil
twitter.common.python: Obtaining twitter.common.contextutil==0.1.0: 524.2ms
twitter.common.python:   Installing twitter.common.contextutil: 0.5ms
twitter.common.python:   Distilling twitter.common.contextutil: 92.6ms
twitter.common.python: Obtaining setuptools==1.1.7
twitter.common.python: Obtaining setuptools==1.1.7 :: Installing setuptools
twitter.common.python: Obtaining setuptools==1.1.7 :: Distilling setuptools
twitter.common.python: Obtaining setuptools==1.1.7: 2212.2ms
twitter.common.python:   Installing setuptools: 0.3ms
twitter.common.python:   Distilling setuptools: 618.8ms
twitter.common.python: Obtaining MarkupSafe>=0.9.2
twitter.common.python: Obtaining MarkupSafe>=0.9.2 :: Installing MarkupSafe
twitter.common.python: Obtaining MarkupSafe>=0.9.2 :: Distilling MarkupSafe
twitter.common.python: Obtaining MarkupSafe>=0.9.2: 928.3ms
twitter.common.python:   Installing MarkupSafe: 0.3ms
twitter.common.python:   Distilling MarkupSafe: 251.4ms
twitter.common.python: Obtaining coverage>=3.4
twitter.common.python: Obtaining coverage>=3.4 :: Installing coverage
twitter.common.python: Obtaining coverage>=3.4 :: Distilling coverage
twitter.common.python: Obtaining coverage>=3.4: 1082.9ms
twitter.common.python:   Installing coverage: 0.3ms
twitter.common.python:   Distilling coverage: 425.6ms
~/test_dev
Build operating on targets: OrderedSet([PythonBinary(src/main/python/apache/aurora/client/bin/BUILD:aurora_client)])
Building PythonBinary PythonBinary(src/main/python/apache/aurora/client/bin/BUILD:aurora_client):
Wrote /home/vagrant/test_dev/dist/aurora_client.pex
Build operating on targets: OrderedSet([PythonBinary(src/test/sh/org/apache/aurora/e2e/flask/BUILD:flask_example)])
Building PythonBinary PythonBinary(src/test/sh/org/apache/aurora/e2e/flask/BUILD:flask_example):
Wrote /home/vagrant/test_dev/dist/flask_example.pex
== Creating job
 INFO] Creating job flask_example
 INFO] Response from scheduler: OK (message: 1 new tasks pending for job vagrant/test/flask_example)
 INFO] Job url: http://precise64:8081/scheduler/vagrant/test/flask_example
== Updating test job
 INFO] Updating job: flask_example
 INFO] Starting job update.
 INFO] Examining instances: [0]
 INFO] Killing instances: [0]
 INFO] Instances killed
 INFO] Adding instances: [0]
 INFO] Instances added
 INFO] Watching instances: [0]
 INFO] Detected RUNNING instance 0
 INFO] Instance 0 has been up and healthy for at least 30 seconds
 INFO] Update successful
 INFO] Response from scheduler: OK (message: Lock has been released.)
 INFO] Killing tasks for job: example/vagrant/test/flask_example
 INFO] Response from scheduler: OK (message: Tasks killed.)
 INFO] Job url: http://precise64:8081/scheduler/vagrant/test/flask_example
***
OK (all tests passed)
***
[sun-wukong incubator-aurora (e2e)]$

Bugs closed: aurora-125, aurora-80

Reviewed at https://reviews.apache.org/r/17457/
Break down free slots stats into dedicated and shared.

Bugs closed: AURORA-152

Reviewed at https://reviews.apache.org/r/17680/
Add indices to OfferQueueImpl to improve resource offer handling performance.

Bugs closed: AURORA-153

Reviewed at https://reviews.apache.org/r/17672/
Moving @Override to a separate line to comply with IntelliJ editor.

Reviewed at https://reviews.apache.org/r/17712/
AURORA-88: get_quota -h lists --cluster as deprecated

Replaces CLUSTER_INVOKE_OPTION with a new CLUSTER_NAME_OPTION so that
get_quota -h shows the correct help dialog.

Reviewed at https://reviews.apache.org/r/17637/
AURORA-193: License header cleanup

Adds license header checks and the gradle license header plugin.

Bugs closed: AURORA-193

Review: https://reviews.apache.org/r/17717/
Refactor CronScheduler interfaces to use Guava Service.

Also, some methods from AbstractCronIT were dropped as they were not
necessary in practice.

Testing Done:
./gradlew build

Bugs closed: AURORA-132

Reviewed at https://reviews.apache.org/r/17749/
AURORA-193: License header cleanup

Reverting the gradle license header plugin from commit b493b91. The
sourceSet exludes is modifying the global sourceSet and causing the
tests to break.