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
yeah so I kind of like the pattern that it allows ie.

```
if (nextForceIsUpgrade.compareAndSet(true, false)) {
  // do it
}
```
it's more about simplicity than concurrent access?