waiting for server boot; randomized test ports

Summary:
Storing the HTTP Listener in the server struct, along with a signal channel.
Not too happy with it yet, wondering how you would go about letting RPC & HTTP
signal that they have finished booting to the outside world. It seems like
it's not ideal to expose the listener and signal channel, but WaitForAddr()
seems like a lame workaround.

Test Plan: make test

Reviewers: andybons, spencerkimball

Reviewed By: spencerkimball

Differential Revision: http://phabricator.cockroachdb.org/D60