fix(tests): close socket listener in GetRandomPort()
fix(tests): build docker image as first test step

This keeps us from starting etcd and other test support services
minutes before they are needed, and makes the component tests
fail faster when there are build errors, which is not uncommon.
feat(tests): only pull deis/test-etcd if it is missing
feat(tests): only pull test-postgresql if it is missing
fix(registry/tests): recreate venv and clean up temp dir
Merge pull request #1351 from deis/fix-component-tests

fix(tests): component test improvements