urboot bootloader protocol implementation in C.
URBoot is a serial protcol specifically designed for bootloaders.
Unfortunately (IMO), the standard implementation is essentially a barely-readable C framework around a bunch of inline assembly, which I find inelegant. Pure ASM would have been more approachable (although perhaps losing a lot of the multi-chip modularity/)
Here, I hope to implement a more "standard C" approach. It'll be interesting to see whether it retains the size advantages it has over Optiboot.