interactive: Introduce settings structure

This will be used to save the settings to EEPROM.

Signed-off-by: Joel Stanley <joel@jms.id.au>
interactive: Save settings to EEPROM

This adds a menu option for saving and restoring of settings.

A magic number is saved in the first word position; this should be
incremented when making backwards incompatible changes to the settings
structure.

If the magic is incorrect, which includes the first time the firmware is
run, a message will be printed and the settings reset to their default.

Signed-off-by: Joel Stanley <joel@jms.id.au>