spi: Handle NULL rx buffer

This allows one to ignore recieved data without a throw-away buffer
printf: Silence warning
stdio: Use circular buffer for outbuf

This allows us to do partial sends which makes things a bit more robust
against buffer overruns.
[crc] add crc width enum
[crc] refactoring
fix CRC32 init
add CRC32B init (commonly known as CRC32 -_-)
update crc_update to accept a buffer/len
[crc] crc32b example
pushed by mistake sry
[crc] name not necessary
stdio: Add vsnprintf
rtc: Add register definitions
MK20DZ10.h: Remove conflicting RTC definitions
rtc: Add some utility functions
Merge pull request #81 from bgamari/rtc

Add real-time clock support
Merge pull request #82 from bgamari/spi

spi: Handle NULL rx buffer
Merge pull request #86 from bgamari/circular-stdio

Circular stdio buffer
spiflash: first version
toolchain: add simple SPI flash access library
lib/spiflash: fail on SPI transfer in progress; return JEDEC ID instead of 0/1
lib/spiflash: allow queuing using multiple contexts
lib/spiflash: fix program/erase bug causing wrong callback data to be used