fix(controller): set default release image

If you scale an application with `deis scale cmd=1` before an
application has been pushed, it should deploy deis/helloworld.
However, the initial release (v1) does not have a image set for
the release, only the build. Setting the default to deis/helloworld
fixes the "scale before deploy" problem.
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
feat(contrib/ec2): launch into vpc

Modifies the cloudformation configuration to create resources within the
confines of a VPC.

fixes #1005
fix(contrib/ec2): fix launching into VPC

To successfully launch into a VPC, we must specify the availability
zones associated with each subnet.
fix(*): fix etcd_safe_set to not override values

Refactors etcd_safe_set so it doesn't overwrite custom settings.

TESTING: rebuild and restart components, setting a non-default
custom value
```console
dev $ make uninstall
dev $ vagrant rsync && make build
dev $ vagrant ssh
coreos $ etcdctl set /deis/controller/webEnabled 1
dev $ make run
```
Make sure the settings have taken effect.

Changes proposed by @aledbf

fixes #1210
fix(client): use sys.stdout.write for logs

The logs already print out newline characters, so using print()
adds an extra empty line to the log output. Using sys.stdout.write()
removes this empty line.
fix(logger): remove Source and Tag from output

An application's logs should not contain which host it was listed
on. It should only care about the data that is relevant to it.

The Tag field is unused, so this added an extra whitespace to the
log format. Removing it cleans up the logs a bit.
test(logger): add filehandler tests
test(logger): add log message tests
feat(logger): add make test/coverage
test(logger): hook up logger tests to TravisCI
style(gitignore): add coverage.out to gitignore
test(logger): add priority tests
fix(travis): install go cover
Accept ECDSA keys in keys:add

Fixes #1262
Add tests for ECDSA keys
fix(controller/scheduler): only announce 'web' and 'cmd' processes

Currently the nginx routers gets announced all types of processes.
This causes problems as both non-web and web processes are mixed
together by the router. The router should only be serving 'web'
processes for buildpacks or 'cmd' processes for dockerfiles.

This fix stops announcing any processes that does not have '.web'
or '.cmd'.

closes #1256
fix(scheduler/coreos): correct announce container logic for process types

Previously, the logger and proctype comparison logic were incorrect.