Upgrade tool enhancements

Enhance the `oo-admin-upgrade` script to provide a more usable workflow and persist structured
data for all upgrade operations. The `--continue` and `--rerun` flags have been removed; the
script now has two commands, `upgrade-gear` and `upgrade-node`. The latter has no modes: the
command can be run repeatedly until the upgrade is a success. The script also contains a small
Ruby API for dealing with the result data. See the class documentation for details.

Implement Trello card: https://trello.com/c/blIfAdai/207-3-upgrade-analysis-app (online_runtime_207)

Resolve bugs:

  * Bug 997047
  * Bug 994614
  * Bug 994709
  * Bug 997075