feat(controller): restart the app if there is a failure.
feat(controller): fix flake8 error.
chore(controller): remove unused django-yamlfield from requirements
ref(data-units): use ubuntu:14.04 instead of deprecated deis/base

Although these data containers may be on their way out soon, for now
it is wasteful to have them continue to use deis/base.
Merge pull request #2023 from mboersma/remove-yamlfield

chore(controller): remove unused django-yamlfield from requirements
Merge pull request #2025 from mboersma/ubuntu-data-containers

ref(data-units): use ubuntu:14.04 instead of deprecated deis/base
Merge pull request #2019 from aledbf/restart_app_on-failure

feat(controller): restart the app if there is a failure.
style(publisher): go fmt
style(router): go fmt
Merge pull request #2032 from bacongobbler/gofmt

style(publisher): go fmt
feat(store): add deis-store component

This is the deis-store component described in https://github.com/deis/deis/issues/1384.
It uses Ceph as a backing service, and features a blob store gateway that is
both Swift-compatible and S3-compatible.

Note that to test this, you will need Docker 1.2.0 and fleet 0.8.0+.

TESTING: build, install, and start the stores and the routers
```console
$ make -C store build
$ make -C router build
$ make install-routers install-stores start-routers start-stores
```

If you make changes and want to restart stores:
```console
$ make -C store stop build
$ make start-stores
```

After this, your cluster should look like the following:
```console
$ fleetctl --strict-host-key-checking=false list-units --fields unit,load,active,sub,machine
UNIT				LOAD	ACTIVE	SUB	MACHINE
deis-router@1.service		loaded	active	running	442acc93.../172.17.8.102
deis-store-daemon@1.service	loaded	active	running	a852dd23.../172.17.8.100
deis-store-daemon@2.service	loaded	active	running	a3b47562.../172.17.8.101
deis-store-daemon@3.service	loaded	active	running	442acc93.../172.17.8.102
deis-store-data@1.service	loaded	active	exited	a852dd23.../172.17.8.100
deis-store-data@2.service	loaded	active	exited	a3b47562.../172.17.8.101
deis-store-data@3.service	loaded	active	exited	442acc93.../172.17.8.102
deis-store-gateway.service	loaded	active	running	a3b47562.../172.17.8.101
deis-store-monitor@1.service	loaded	active	running	a852dd23.../172.17.8.100
deis-store-monitor@2.service	loaded	active	running	a3b47562.../172.17.8.101
deis-store-monitor@3.service	loaded	active	running	442acc93.../172.17.8.102
```

Once the services are running, you can enter one of the `deis-store-monitor` or `deis-store-daemon`
services and `ceph -s` to see the cluster health. To access the object store endpoint,
hit `http://store.local3.deisapp.com`. Your object store requests go through the router!
fix(store): try and try again until OSD creation succeeds
chore(store/systemd): remove unit files in favor of deisctl
feat(database): use deis-store and WAL-e to ship WAL logs
chore(store): refactor for new dev environment; bump to Ubuntu 14.04
fix(store): check OSD_ID type rather than return value
feat(database): perform backups periodically
feat(database): perform initial backup after db creation
fix(store/Makefile): fix start/stop, etc.
chore(*): remove deis-database-data and deis-registry-data