Changes for compiling with latest libopencm3.

Lorenzo,

Here are the changes for Bootloader, I'd reformatted some routines in cdcacm.c so all routines in that file would have the same style.

As for libopencm3, it has diverged extensively from what you have now, do you want to have the end result be libopencm3 as they have it now, or do you want to preserve the history you have? Currently I've made no attempt at merge your's and their code. Locally I just replaced your code with theirs, so I'd like to know what you'd like the end result to look like.

Of course I don't expect you to take this pull request as we'll have to do libopencm3 at the "same time" this is just for review. And its still untested since my hardware isn't quite working yet. I'll be trying from Mac today to see what that yields.

-- Wink