Add Upgrade API

I'm putting this up now to get early feedback.  I am still working on testing, but the implementation is basically there.  I've also attempted to add docs (and modify optimize docs as necessary).

This branch does the following:
* Add the new API at the rest layer, being backed by the optimize API with upgrade flag, and segments api to find upgrade status.
* Add `upgrade` flag to optimize API, and deprecate `force` flag (will remove in master)

closes #7884
I was just going to do this in a followup commit? I don't like to do rebase as it is error prone, and I also like to keep the history of what I actually did. Instead I do `merge --squash` when merging to master.