feat(store): add deis-store component

This PR implements the deis-store backing service described in #1384. It is a Dockerified implementation of [Ceph](http://ceph.com).

`deis-store` consists of three components:
**deis-store-monitor**
This container configures and starts a [Ceph monitor](https://ceph.com/docs/v0.85/man/8/ceph-mon/), the bookkeepers of the cluster. We block until there are three monitors running before we proceed with allowing the daemons to come up.

**deis-store-daemon**
This container configures and starts a [Ceph object store daemon](https://ceph.com/docs/v0.85/man/8/ceph-osd/). There are three of these containers at a minimum in a cluster, as data stored in Ceph is configured to be duplicated twice. We allow degraded writes even if just one OSD is up.

**deis-store-gateway**
This container configures and starts [radosgw](https://ceph.com/docs/v0.85/radosgw/), an S3- and Swift-compatible object store. This container is accessible within the cluster via etcd service discovery, as well as externally to the cluster at `http://store.domain.tld`.

This PR also adapts the database and registry (WIP) to use `deis-store` for storing WAL logs/backups and Docker image filesystem layers, respectively.

TESTING:
Testing deis-store will involve a custom-built `deisctl` as implemented in deis/deisctl#96. `deisctl install platform` should then provision and start deis-store.

TODOS:
- [x] `database`: Rewrite logic which checks if the database is already initialized -- we can't test for the existence of /var/lib/postgresql/9.3/main any longer, as we need to run confd before this check happens (mainly so the deis-store-gateway is in /etc/hosts), and confd will template files in this directory. So, we need a better method to determine if the database has already been initialized.
- [x] `database`: configure periodic backups
- [x] `registry`: use the S3 API credentials stored in etcd to store filesystem layers in `deis-store`. We need docker/docker-registry#515.
- [x] No longer install `deis-database-data` or `deis-registry-data` containers
- [x] Test failure and disaster scenarios (stop a container and then start it later, etc.)
- [x] Write integration/component tests
- [x] Update docs anywhere we list the Deis components

closes #1384 
closes #1385 
closes #1906
replaces #1754 
replaces #1803
refs deis/deisctl#96
refs deis/docker-registry#3

[skip ci]
That's true, you couldn't. I'm open to other names, but `deis-store.yourdeiscluster.tld` seems verbose, especially since the controller is `deis.yourdeiscluster.tld`.