mchck.h: drop CMSIS include

CMSIS starts to collide with our own definitions, so drop it.
add SCB definition
toolchain: start system functions
mchck.mk: use SAT cpp to process the linker script
mchck.mk: target linker script is a dependency as well
toolchain: give the builtins their own header file
dfu: reset after successful download
Merge branch 'master' of github.com:corecode/mchck

Conflicts:
	toolchain/ld/MK20DX32VLF5.ld
use lower case for hex literals
toolchain: move mchck headers into lib/
move flash support to mchck lib
toolchain: fixed some mistakes in the FTFL_FLEXNVM_PARTITION enum, duplicated it in SIM

1) One of the values was 0x05 when it should be 0x09 according to docs
2) All the values need the four MSB set according to docs

It's duplicated in SIM because it's slightly different (4 bit value instead of 8 bit padded with 1111) and we don't want a dependency between the files anyway.
dfu: report sector size as transfer size
dfu: do not transition from MANIFEST to IDLE
lib/flash: sometimes allow brickable flashing
toolchain: move mchck includes to lib
lib/mchck: add onboard-led function
toolchain: add makefile convenience targets
usb-dfu: allow short programs
bootloader-update-dfu: add firmware to update bootloader