Don't fail if header is missing some stat

Header stat data can be prone to change from time to time so don’t bail
unless some critical data is missing.
Remove 20k lux calibration

Calibration of 20k lux is un-necessary for primary use case. Removing
it frees up some much needed program space and makes calibration
simpler.
Lux scales update

New visual lux graph line positions for 2.5k, 5k, and 10k lux from the
new sensor and data format.
Calculate day phase and transmit with commands

Generates the day phase using the sync machine and transmits it along
with the standard device commands to keep the day phase in sync.
Update to 2.5k, 5k, and 10k lux calibration

New values for lux calibration for the new SMT light sensor and data
compression.
Remove un-needed 20K calibration data
Rework SMT colour sensor processing

Tries two levels of exposure gain, x16 and x1, to capture more data in
dark conditions. Includes compressing data to 10-bits per channel for
the two exposure settings.
Refactor goal_update to a separate routine
Day phase improvements

Remove manual day phase commands and replace with setting phase during
comms cycle with two bytes while synching.
Remove 20k lux calibration comms and function
Changed variable used for header_block calc
Corrected data needed to be copied at first init