Adding support for ATmega32u4; Arduino Leonardo, Micro and LilyPad USB.

1. USB/CDC support is not yet available. The UART port is used.
2. Board Pin mapping is non-linear; avoid code that assumes sequence of pins.