feat(server): make the RetryInterval of PeerServer tunable

For tests and other environments it would be nice to be able to tune how
long to sleep between retries.
feat(tests/discovery): use low retry interval

In TestDiscoverySecondPeerFirstNoResponse use a low retryinterval so the
test doesn't take forever.
hack(tests/discovery): don't use go-etcd for watch

go-etcd has a bug in the watcher that holds open a goroutine. Avoid
goetcd for this operation until it is fixed.
fix(tests/server_utils): use a WaitGroup for RunServer

Make sure that all of the servers exit before we return by using a
WaitGroup in each handler. This was used to help track down the issue
with the TestDiscoverySecondPeerUp test and the hung go-etcd watcher.
chore(tests/discovery): remove errant debug statement
fix(server/peer_server): stop the raftServer in Stop()

Stop() the raftServer if we stop the peerServer so that tests that start
and stop PeerServers exit cleanly.