lib/mchck: add crit_enter/exit
lib/usb: move clock initialization to usb_enable
lib/usb: add usb_pipe_enable/_disable
usb/kinetis: use USB_MAX_EP
usb: do nothing in usb_clear_transfers

Not sure what this is supposed to do - USB spec says to stop all
transfers, but what does this imply?  Definitely removing
all (queued) (rx) transfers will break things.
usb/cdc: use uint8_t instead of char arrays
examples: add usb-serial-loopback