Changed from masse erase to block erase as necessary.

This theoretically allows flashing the bootloader without overwriting
the payload.
Use our new USB VID/PID.  Thanks OpenMoko, Inc.
Bootloader is now protecting it's own memory from being overwritten. Thanks gsmcmulling for that!
Increased the acceptable flash memory size to 256kb.
Added changelog file.
added src/luftboot to gitignore
fix locm3 library path: opencm3_stm32f1 lib is now directly in lib and not lib/stm32/f1
changed behaviour of luftboot to better match LPC21xx bootloader:
 * thanks to softsr (sergey krukowski) for starting the work
 * after payload upload, set flag and reset device
 * on boot, if upload just occurred, clear flag and jump to payload
 * if payload forced bootloader, start bootloader
 * if skip bootloader pin grounded, jump to payload
 * if USB vbus powered, start bootloader
 * otherwise, jump to payload
Either the external clock (12MHz PLL to 72MHz) or internal oscillator
(8MHz PLL to 48MHz) can be selected at build time. See README.
Updated to the new usb api in libopencm3.
Bumped version to 1.1
changes needed for Papilot: JLINK and fix for latest OOCD