Feature/cleanup clock init

PLEASE TEST THOROUGHLY BEFORE MERGING

After discussion with wolfmanjim and seeing his excellent auto-detection patch, I decided to clean up SystemInit() to be more readable and better documented.

Since we're now officially using PLL1, I also changed it to run 1768s at 100MHz instead of 96MHz

The only reason we were using 96MHz in the first place is that for some reason, mbed divided the usb clock from the main clock instead of using PLL1, which is provided for this exact purpose.

All my boards are buried deep in storage, please test this for me!