Initial import of CFS/Coffee code, builds!

Based on Contiki 8451a4198d2fb225d01ecd92c339fec4c22d356a. Had to fix a few issues with use of unsigned types.
Merge branch 'master' into coffeefs

Conflicts:
	src/Makefile
CFS/Coffee code working for formatting, writing and reading but not overwriting.

Also added test.
flash_test now calls only spi_setup instead of swift_nap_setup
Adding shebang to m25 flashing script.
Don't process messages with CRC errors.
Attempt to clear RX buffer at startup in serial_link.py

Better but doesn't always work. Needs more attention.
Updates/fixes to debug_send_message.

Now has return value indicating if the message was sent or not.

Only sends message if there is room in the TX buffer for all USARTs it is supposed to be sent on.
Cleaning up m25_flash code.

Now uses debug_send_message return code to block until msg sent successfully.

Cleaned up coding style a bit.

Increased read transfer size to 192 bytes for increased speed / efficiency.
Coffee overwriting now working.

Misunderstood the COFFEE_LOG_SIZE parameter.
Remove debugging output and cleaning up.
Merge branch 'coffeefs'
In function simple_write convert list to byte string before passing to write
Merge branch 'master' of https://github.com/fnoble/piksi_firmware
Added support for M25 flash callbacks in bootloader
Removed program_byte callback
Changed debug callback message names
Changed flash_erase_callback to receive a sector instead of an address from PC
Flash class for both STM and M25 flash memories
Changed address sent from Piksi to PC to 4 bytes in read callback