Add stop method to stop the heartbeat checker when disconnected (#307)
Invoke HeartbeatChecker.stop when the connection is closed
Refactor BlockingConnection.Close to not raise an exception when called and to go through all of the proper steps