Header cleanup.
Re-organize things.
The Core IO calls don't need to be machine specific.
Clean things up.
Create a shim layer for platform-independent UARTs.
Another attempt at good names.
Put the target-specific code in a separate file.
Clean up the declarations.
Factor the app restart call into it's own files.