Boot code, config update, read flash...

My progress so far.
I'm sure these changes break some unit tests, thought I think it's more important to first get the code together in one place.
I'm testing the bootloader as a package in this repo https://github.com/nuft/servo-board-v1-bootloader