consolidate heartbeat handling into client
improve test flakiness and duration by intelligently waiting for nsqd
add test for reader heartbeats