Add furnace controls and error checking

Added a variable furnaceEnable. This is used instead of just blindly
switching furnace on/off, it now depends on a set point and the
temperature sensor being in a certain range too. Bad temperature sensor
readings cause the furnace to be disabled.

Hard coded setpoint of 18.5 degrees used. Furnace turns on below this
and turns off at setPoint + 0.5.

Main loop isn’t very efficient since it compares temperature more often
than it is read from the sensor. Later, this comparison should be
triggered by a new sensor reading or a change in furnaceEnable variable.
Add furnace control based on setPoint

use furnaceEnable and temperature measurement to control whether
furnace is on or off.

Ignore bad sensor readings and disable furnace control if this happens.

Added requestFurnaceStatus response function.