Fix for nasty I2C eeprom data corruption bug

Writing to I2C eeprom with 6 bytes of data was triggering an
intermittent timing bug where  two byte pairs would be swapped with
another two of the six bytes. Happened every 21 writes of 6 bytes (with
some rare fluctuations). Writing the data one byte at a time, or in
pairs resolved the issue.
Tidy up some formatting
Remove unnecessary extra I2C setup
Align byte maths formatting to more easily spot and errors
Fixed an indent for readability
Allow re-programming during led pulse, not serial comms check.
Deleted old commented code
Rename low power and delay routine for clarity
Standardise on lowercase use of 'word' key word
Add button press flag to replace the TBA.
One record per min, made of five samples.
First boot Lux calibration and light goal tracking
Refactor first boot code into separate routine
Use simple flash for power on to save memory/
Remove auto status output on button press
Remove dump and reset data routine, not needed.
Make status data more machine readable.
Minimise code for dump_data routine.
Clean up some completed TODO comments.