Support for in-place upgrades

This PR adds support for in-place upgrades of Deis using `deisctl` along with completely new upgrade documentation.  A number of other changes are also included as separate atomic commits:

 * Switch `deisctl` commands (create, destroy, start, stop) to async and cleanup output
 * Remove `@1` suffix from components that cannot be scaled
 * Add data containers to stateful components to make in-place upgrades fast/efficient
 * Add `start delay` on OSD recovery to work around store-gateway issues
 * Use `sync.WaitGroup` for staged orchestration
 * Bump Godeps for `deisctl`

To perform an in-place upgrade:

```console
$ deisctl uninstall platform
$ deisctl config platform set version=v0.13.1
$ deisctl install platform
$ deisctl start platform
```

Please note that in-place upgrades are only supported from this version forward -- mainly because of the addition of data containers.
I don't think this works according to `requests` docs, not in recent versions at least. Instead, [you have to do this](http://stackoverflow.com/a/18190415):
```python
from requests.adapters import HTTPAdapter

retryingAdapter = HTTPAdapter(max_retries=5)

def _api_call(endpoint, data=None, headers={}, cookies=None, request_type='GET'):
    # FIXME: update API calls for docker 0.10.0+
    base_headers = {'user-agent': 'docker/0.9.0'}
    r = None
    if len(headers) > 0:
        for header, value in headers.iteritems():
            base_headers[header] = value
    s = requests.Session()
    s.mount('http://', retryingAdapter)
    s.mount('https://', retryingAdapter)
    if request_type == 'GET':
        r = s.get(endpoint, headers=base_headers)
    elif request_type == 'PUT':
        r = s.put(endpoint, data=data, headers=base_headers, cookies=cookies)
    else:
        raise AttributeError("request type not supported: {}".format(request_type))
    return r
```