Add ability to force a reconnect on heartbeat timeout

Introduces a heartbeatForceReconnect option, when true will force the library to reconnect on a heartbeat failure