Remove race on Connection.Config.Heartbeat
Remove race on Connection.Config.Heartbeat

Instead of concurrent access to the Heartbeat interval, multiplex all
heartbeat concerns into `Connection.heartbeater`, including extending
the timeout deadline if an interval has been negotiated and the
interface is available in `Connection.reader`.

Fixes #70

aviau/amqp,streadway/amqp,streadway/amqp,gcnonato/amqp,StephaneP/amqp,beni55/amqp,ChannelMeter/amqp,beni55/amqp,z00223295/amqp,gcnonato/amqp,z00223295/amqp,aviau/amqp,ChannelMeter/amqp,akrennmair/amqp,vektra/amqp,TeamFairmont/amqp,StephaneP/amqp,TeamFairmont/amqp,akrennmair/amqp,vektra/amqp