fix(tests): component test improvements

The docker functional tests now properly close their test-etcd listen sockets, only pull the docker test images if they aren't already resident, and build the container under test as the first step rather than later. Random port allocations were moved adjacent to the code that uses them. We also clean up droppings that have prevented `make -C registry test` from completing before as seen [here](http://ci.deis.io/view/pull-requests/job/test-registry/230/console).
D'oh. Nice catch.