discoverd/client: Fix race in heartbeat

If we register again with new attributes, there is a chance that a
heartbeat will occur *after* the explicit register, but *before* the
old heartbeat with the old attributes is stopped.

This patch fixes the race by re-using the same heartbeat goroutine
when re-registering and just swapping the attributes.

Signed-off-by: Jonathan Rudenberg <jonathan@titanous.com>
Merge pull request #675 from flynn/fix-discoverd-race

discoverd/client: Fix race in heartbeat