Detect remote node presence using heartbeats.

Instead of relying on multicast announces, actively request heartbeats
from the remote nodes to see if they're still alive. This will allow to
discover new nodes by means other than multicasting.