test(component): add `make test` to deis/registry and unit tests for controller
test(utils) : add basic functional test files
refactor(tests): rewrite basic vagrant integration test in Go
fix(registry/test): use env vars for docker daemon connection info
test(refactor_code) : refactor code added dockercliutils
fix(logger/Makefile): update test-functional target for vendored $GOPATH
refactor(tests): added tests/utils go package
fix(tests): try to scale "cmd" if "web" process type fails
refactor(tests): add etcd and mock utility packages
test(workingframework):framework working

Added component tests for all the services and tested .
test(component): add working component tests

Added fallback function to get IP of running host
Added abstract function for running service level ping test
Removed debug print statements
refactor(tests): add comments to some test packages and clean up with goimports
fix(tests): randomize test port for each service
fix(tests): use "devicemapper" for STORAGE_DRIVER, not aufs
tests(etcd): update coreos/etcd to v0.4.4
fix(tests): randomize test-database TCP port
refactor(Makefiles): remove unneeded .PHONY target
fix(Makefile): fix component rsync

Currently, trying to issue a `make -C <component> build` will rsync
the contents of that component directory to /home/core/share instead
of /home/core/share/<component>.

This commit makes all rsync commands rsync relative to the root directory
(using the path to includes.mk as a reference).
Merge pull request #1219 from deis/component-tests

test(components): add unit and functional tests, go integration tests
fix(services): prevent units from stopping as "failed/failed"

Deis' systemd units always return "failed/failed" after being stopped
by fleetctl. Somehow our ExecStop command to remove the service container
conflicts with our ExecStart command and causes it to return an error code.
This is fixed by removing the ExecStop commands and adding a `--rm` flag
to the docker command in ExecStart. Additionally, our on_exit() handler in
each /app/bin/boot script was not returning 0.

TESTING: Run `make run`, then `make stop` on a Deis cluster. You should see
all units stop and return to "inactive/dead" status, whereas before they
would show "failed/failed."