Heartbeat: clean up

1. remove the Calibration.isCalibrating() check from heartbeat class
2. add the Calibration.isCalibrating() into TTS class
Calibration: check if really doing calibration

if ‘msg’ is empty then the event is triggered outside of ‘calibration
mode’ - we need to reset the flag and re-trigger the HEARTBEAT_TIMEOUT
event so TTS can announce the Data Link Loss event
Drone: Bug Fix

The DroneEvent needs to be initialised first since other DroneVariables
are going to use drone.events to add their callbacks
Merge pull request #571 from azrin1972/BugFix--Exception-upon-startup

BugFix: move event to the top of the list of creation
Merge branch 'master' into Calibration-Update
Merge pull request #573 from azrin1972/Calibration-Update

Calibration update