Various fixes for cluster setup.

Summary:
Fixed rpc.Client close issues using a "closed" bool and export a Close() method
to be called immediately in the event the method employing the rpc.Client
experiences a failure. Previously, we would busy-retry gossip bootstrapping
until the rpc.Client's heartbeat failed.

Warn in a retry loop in the event that the cluster ID (the gossip sentinel key)
is not available depsite being connected to the gossip bootstrap hosts and in
the event that the node in question IS one of the gossip bootstrap hosts. This
seems like a pretty common case where the cluster hasn't been initialized.
Unfortunately, there's no sure-fire way to know whether the situation is simply
that the node in question is waiting for the actual sentinel gossip node
(already initialized) to connect. As a result, we can only warn.

Changed instances of localhost in the code to 127.0.0.1 to alleviate persistent
osx warning about firewall warnings. Localhost may refer to ipv6 which apparently
is what causes the problem, though I still get the warning occasionally.

Test Plan: go test

Reviewers: andybons, Tobias

Reviewed By: Tobias

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