-Bug fixes (Array boundary exceptions)
-Added a way for the MQTTMgr to notify its observers that it has lost its connection.
-Introduced Analyzers and AnalyzedDownloads to simplify the logic related to analyzing the download
-- This introduced messages. Messages have a critically associated with them.
-Changed the way threshold holds are managed and introduced a critical high/low in addition to just a warning.
-Changed "FakeDevice" to MockDevice
-Improvements to the MQTT manager code
-Fixed crashes caused by multiple restarts of the service
-Reworked the way the devices and monitors managed threads
-Added download analyzers to provide a standard mechanism for monitors to analyze downloads
-Added trimming features to the monitors to prevent excess EGV records from making their way into the monitor processing
-Reworked Thresholds and introduced threshold collections (currently named as limits). Highs and lows now have 2 levels - critical and warning.
-Upped the reading delay by 3 seconds for poll devices due to some early misfires.
-Updated Mock device
-Updated preferences to control new code