fix(agent): Retry agent heartbeats

Attempt agent heartbeats three times with an exponential heartbeat.

Fix #116
test(functional): Alter timing for agent heartbeat retries