Streamfs: library for streaming data to flash

This library will stream data to a flash file system. It
will place these files consecutively in flash and wraps
around like a circular buffer. There is no protection
against wrapping around and overwriting previous files
or the beginning of this file.
Streamfs: add unit tests

Conflicts:
	Makefile
Streamfs: make pios_com interface functional

Now once a file has been opened, either reading
or writing can be done by streaming with PIOS_COM.
Streamfs: add unit test coverage of PIOS_COM interface
Bootloader: make aware of log and ota partitions

This allows using the uploader to directly read from
these partitions.
GCS/Uploader: add support for OTA/Log partitions
Logging: create a new module for logging data

This uses Streamfs to write the logs using PIOS_COM
to a circular buffer on the flash chip. It starts
writing as soon as the system is powered up.
Logging: add code to download log files while running

This is mirrored from the picoC code and allows downloading
from log files in 32 byte chunks.
GCS/Logging: code to download logs from running FC

This adds a menu option that will iterate through a log
file and download it from the flight controller to a
file.
Logging: add settings to enable when to start

The default behavior is now to start logging when armed
rather that writing lots of log data while simply idling
on the ground.