Improve aurora "job diff" command.

Add a new diff method, which uses field-by-field comparison of JSON trees for comparing running job configurations to potentially updated configs.

- Allow exclusion of semantically irrelevant fields.
- Provide a clearer list of the differences between configs.
- Provide a scripting-friendly alternative JSON syntax for diffs.

The old diff behavior is still available under the "--use-shell-diff" option.

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

(This is a new attempt to push this; it will be rolled back immediately if
it causes a build issue.)
Revert "Improve aurora "job diff" command."

This reverts commit d30e8ae4ce7d4883b842cd242570b597eceb2a8d.
Upgrade Aurora to psutil 2.1.1

Testing Done:
Linux and OS X pants test suite.

Bugs closed: AURORA-412

Reviewed at https://reviews.apache.org/r/25466/
Transaction all SQL under MemStorage

Bugs closed: AURORA-694

Reviewed at https://reviews.apache.org/r/25483/
Fix broken "large update" warning.

At some point, the "large update" warning logic was revised so that the
warning shows whenever you do an update that either:
- the updated config had more than 4x as many instances as the running one; or
- the updated config had less than 4x as many instances as the running one.

(Seriously: either local >= 4 * remote or local <= 4 * remote". And running git blame says it's all my fault.)

This fixes it: the correct logic is:
- the updated config has more than 4x as many as running; or
- the updated config has less than 1/4th as many as running.

Bugs closed: aurora-5860

Reviewed at https://reviews.apache.org/r/25450/
Make the offer hold jitter window configurable.

Bugs closed: AURORA-313

Reviewed at https://reviews.apache.org/r/25398/
Add a controller for job updates.
asdf