feat(test): add integration tests

Adds a test/ directory with a Rakefile that defines
integration tests to fully exercise a Deis cluster.

Currently these are written in Ruby, as the goal here was
to get tests implemented quickly. The tests were written so
they can be easily ported later.
Merge pull request #837 from deis/integration_tests

feat(test): add integration tests
docs(contrib/ec2): generate the keypair
docs(contrib/ec2): use ~/.ssh/deis instead
Merge pull request #853 from deis/ec2-keypair

docs(contrib/ec2): use ~/.ssh/deis instead
feat(Makefile): status reports and better error handling

Adds a Status: message to report the status of the service
being monitored every 10 seconds (code from StDiluted in IRC).

Also checks for dead services, and actually exits when
encountering an erred service - we previously just kept
humming along.
docs(release): update procedure for v0.8.0 release

Fixes #843.
Merge pull request #854 from deis/more_makefile_error_checking

feat(Makefile): status reports and better error handling
Merge pull request #855 from deis/update-release-doc

docs(release): update procedure for v0.8.0 release
fix(services): use COREOS_PUBLIC_IPV4 for advertised IP

Currently, all containers use a hacky method to determine the IP
to advertise to etcd - the method determines the machine's default
route, and uses that IP. However, this can be configured very differently
depending on the environment, and in some cases doesn't work at all.
Instead, we use COREOS_PUBLIC_IPV4, as that is set on every CoreOS host,
and we trust that CoreOS knows the machine's networks better than we do.

fixes #845
Merge pull request #851 from deis/dont_guess_advertised_ip

fix(services): use COREOS_PRIVATE_IPV4 for advertised IP
fix(controller): wrap start command in shell

`docker run` doesn't support piping. We need to run the command
inside a shell prompt to get the proper output.

fixes #847
fix(builder): remove entrypoint from shim
fix(scheduler): remove docker requirements
docs(dockerfiles): remove slugrunner reference
fix(controller): use c_type for start command