Stop heartbeat sender upon IOError

It will be re-initialized by connection recovery if it's needed,
otherwise it just protects us from having a busy loop.
Use RabbitMQ-provided heartbeat value by default