Check for 10-bit address over flow when auto-incrementing.

Clean up whitespace.
Don't increment src address twice in ap_mem_read_bytes function. Fixes corrupted thumb disassembly dumps in gdb.
Merge pull request #8 from aibara/master

One-liner fix for black magic firmware issue corrupting un-aligned memory reads from target.
Update to current libopencm3 usb api.
Fixed magic numbers for CSW access.
As per the lpc11xx manual the stack pointer should be set before IAP
calls are made.  

In lpc11xx_flash_prepare() and lpc11xx_flash_erase() bug in calculating
the ending sector number.
More Files to ignore
Add explanation how toi fill the libopencm3 directory
stlink: Use a seperate linker file as stlink has only 64 kByte
stlink: Update to current libopencm3 usb api.
native/usbuart: Move platform dependant parts to platform.h
stlink: Add the UART
Move usbdfu to platforms/stm32 directory
stlink: Add DFU capability
Move usbuart to the stm32 directory
cdcacm: move non-constant parts to platform.[hc]
Move (now-constant) cdcacm.c to platforms/stm32
platforms/stm32: Move more platform dependencies to platform.h
usbdfu: Allow for different, but constant flash page sizes
stm32_can: Changes to get blackmagic to work