fix(client): clear cookies on login, logout, register

We should be clearing all cookies, since we can only be logged into
a single user and cluster at the same time. This fixes the 403 Forbidden
when being logged in immediately after registering.
feat(contrib): add DigitalOcean provisioner booting CoreOS via kexec

This introduces a provisioning script for Deis on DigitalOcean droplets. As DigitalOcean
does not (currently) support CoreOS, we deploy CoreOS on top of Ubuntu 14.04 using kexec
on boot to switch to the CoreOS kernel and initrd. The state filesystem is a loop
mounted btrfs.

The CoreOS bootstrapping is heavily based on Levi Aul's code:

  https://gist.github.com/tsutsu/490f35f48897df0f5173

We don't use Debian 7.0 as base distribution because kexec is unstable on the Debian
kernel.
refactor(contrib/digitalocean): clean up README, act more like other contrib/ scripts

Updates the README to flow more like the other contrib/ scripts.
Also adds a provision-do-cluster.sh
chore(tests): update vendored Docker cli code to v1.1.1
fix(tests): use `docker run --rm` instead of explicitly removing containers
fix(Makefile): only install data containers if they don't exist

Since we are scheduling data containers to specific machines (and
the machine we choose is random each time), we want to be careful
about when we regenerate and resubmit these units.

This commit makes `make install` (and thus `make run`) safe to
run multiple times again since they will now only submit data containers if they don't
already exist.

TESTING: run `make install` multiple times and ensure the units are there when they should
be, and not resubmitted otherwise
```console
$ make uninstall
```
```console
$ make install
Job deis-router.1.service loaded on e35efc85.../172.17.8.100
Job deis-builder-data.service loaded on e35efc85.../172.17.8.100
Job deis-database-data.service loaded on e35efc85.../172.17.8.100
Job deis-logger-data.service loaded on e35efc85.../172.17.8.100
Job deis-registry-data.service loaded on e35efc85.../172.17.8.100
fleetctl --strict-host-key-checking=false load registry/systemd/deis-registry.service logger/systemd/deis-logger.service cache/systemd/deis-cache.service database/systemd/deis-database.service
Job deis-logger.service loaded on e35efc85.../172.17.8.100
Job deis-registry.service loaded on e35efc85.../172.17.8.100
Job deis-cache.service loaded on e35efc85.../172.17.8.100
Job deis-database.service loaded on e35efc85.../172.17.8.100
fleetctl --strict-host-key-checking=false load controller/systemd/*.service
Job deis-controller.service loaded on e35efc85.../172.17.8.100
fleetctl --strict-host-key-checking=false load builder/systemd/*.service
Job deis-builder.service loaded on e35efc85.../172.17.8.100
```
```console
$ make install
deis-builder-data.service already loaded. Skipping...
deis-database-data.service already loaded. Skipping...
deis-logger-data.service already loaded. Skipping...
deis-registry-data.service already loaded. Skipping...
fleetctl --strict-host-key-checking=false load registry/systemd/deis-registry.service logger/systemd/deis-logger.service cache/systemd/deis-cache.service database/systemd/deis-database.service
fleetctl --strict-host-key-checking=false load controller/systemd/*.service
fleetctl --strict-host-key-checking=false load builder/systemd/*.service
```
Merge pull request #1291 from deis/readable_data_containers

fix(Makefile): only install data containers if they don't exist
fix(tests): report errors from `docker pull` on main goroutine

See http://golang.org/pkg/testing/#T.FailNow
Merge pull request #1268 from deis/component-tests-fixes

fix(tests): improve reliability and error reporting for component tests
fix(Dockerfile): ensure `apt-get install` is prefixed by `update`

Since Dockerfile layers are cached, having `apt-get update` as a separate
command creates the potential for a subsequent `apt-get install` to fail.
Best practices (other than "install from source") seem to be to make
both commands into a one-liner.

This PR ensures we don't `apt-get install` as its own command anywhere,
removes the installation of some packages that were already in deis/base,
and removes a redundant ENV DEBIAN_FRONTEND statement.
fix(coreos): remove refs to obsolete update-engine-reboot-manager

This was removed from CoreOS a while ago, so our unit file was having
no effect.
https://github.com/coreos/update_engine/pull/28
fix(contrib/ec2): add json extension to cloudformation template

The CloudFormation Template has a .template extension although its a json file.
This makes it difficult to parse/edit it as editors dont recognize it as JSON file.
So added the .json extension behind its name and also updated gen-json.py which
uses it.
fix(contrib/ec2): add script to update the CloudFormation
fix(controller/procfiie): Removed Procfile as its not used anywhere
Merge pull request #1308 from developerinlondon/fix/remove-procfile-from-controller

fix(controller/procfiie): Removed Procfile as its not used anywhere
Merge pull request #1304 from developerinlondon/fix/add-json-extension-to-cloudformation-template

fix(contrib/ec2): add json extension to cloudformation template
Merge pull request #1302 from ddollar/ec2-cloudformation-update

fix(contrib/ec2): add script to update the CloudFormation
fix(tests): increase component test timeouts to 20min

Most component test failures in our CI system recently have been due
to the tests taking longer than the default Go testing package timeout
of 10 minutes. The tests are in progress, but Go kills the process
after 10 minutes and reports it as failed.

The tradeoff here is that if one of the tests is actually stuck,
we wait twice as long to find that out, but overall this seems like a
fix for CI stability. Builder was increased to 30m since it takes much
longer to pull slugbuilder.
Merge pull request #1316 from deis/component-test-timeouts

fix(tests): increase component test timeouts to 20min
Merge pull request #1152 from deis/remove-update-reboot

fix(coreos): remove refs to obsolete update-engine-reboot-manager