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.)