Various changes to further drive configuration to EEPROM instead of compile time constants.

Now the board type can be specified on the serial console. It is respected and will be used to set up
the system I/O. This pretty well brings the firmware to a point where EEPROM stores all the stuff we
used to have to configure at compile time in order for everyone to build the copy they need. Now you just
plain build and the EEPROM brings it all together.

Note: EEPROM layout is different from how it was before this process started. Your settings *will* reset.
Keep that in mind.