PiOS F1: pristine import of StdPeriphDriverLibrary 3.5.0
PiOS F3: reverted stm32f30x.h to pristine version
PiOS F3 USB: fixed definition of bool
F3 pios_bl_helper: fixed usage of TRUE and FALSE
The destination register of an exclusive store must be
different from both the value and address register.  Fix building with
recent binutils by marking the result as early clobber.
Also strex needs to not clobber it's register to have predictable results.
OPReview-227
All PiOS: fixed bool usage
pios stm32f1: cast away const for st lib invocations
system_stm32f10x.c: readd on hse startup fail, go to infinite loop
stm32f30x.h: fixed a typo introducted by st library update
F1 startup files: removed unused and updated header of startup files
Issue #720 document existing code better

Also refactor "saveObjectToSD" to "saveObjectToFlash". Added better inline
documentation for existing object saving methods, corrected several debug
typos.
Issue #720 Remove multiple retries from SmartSave

We were having a double amount of retries, one from SmartSave, one from
the telemetry layer. Now only the telemetry layer does the retries.
Issue #720 update UAVTalk protocol to send NACKs when receiving unknown ACK'ed objects

This update introduces a backward-compatible update to the UAVTalk protocol: when receiving
an object for which an ACK is expected is return, and the receiver does not know the object
(ObjectID unknown), then instead of dropping the object, send a NACK with the ObjecID.

The most immediate side effect is that this avoids a situation where the GCS tries to
send a settings object that is unknown to a board, and goes through multiple timeouts. Now,
when sending a settings object that the board does not know, the transaction will fail right
away.
Update license headers
Merge pull request #673 from lilvinz/f1cmsis_update_bool_fix

PiOS F1 Cleanup 1/2
Merge pull request #734 from elafargue/smartsave_fixes

#720 : resolve the slow SmartSave issue