run a code cleanup

(diff from hell)
use pointers to specify exactly what LEDs are used.

The upshot of this is that you can address the third led of the second
 led ring with ledRings[1][2] which is slightly easier than the original
 leds[5+12+2].
Used named colours for all the colour settings
Split file into smaller easier to chew files
remove setup code for previous power buttons
get the serial code out of the loop
simplify airlock
swap the pins used for A and B to match what's sent to the game
call resetLEDs when resetting LEDs
switch statements
add power state forcing
move privates out of public header
changing the reactor switch counts as a switch change
add a function for clearing the LEDs without resetting everything
use an enum for the states
add a handy enum for the switch states
add a function for dealing with the switch puzzle generically
blink the top panel in the pre-on state
don't carry on after the reset
make the bootup LEDs set their state every frame

rather than relying on the state being correct from the previous scene
 (which it sometimes wasn't), this makes sure that it is.