bl: docs for bootloader protocol
bl unified: unified bootloader implementation for F3 and F4
bl unified: add capabilities message extensions

Extends capabilities message to explicitly describe all of the
partitions that the BL has access to.
bl: fix cut/paste references to revo in all BL makefiles
f3 usb: extend USBHOOK API on F3 to include PIOS_USBHOOK_Deactivate

This empty function is required so that the common BL image can
safely call this on all platforms just prior to jumping to FW image.
bl unified: make discoveryf4 use unified bootloader
bl unified: make flyingf3 use unified bootloader
bl unified: make flyingf4 use unified bootloader
bl unified: make freedom use unified bootloader
bl unified: make quanton use unified bootloader
bl unified: make sparky use unified bootloader
bl unified: make revomini use unified bootloader
bl unified: make revolution use unified bootloader
bl: remove (now) redundant bl implementation files for F3 and F4 boards
bl helper: remove write support for F3 and F4 targets

F3 and F4 boards are now all using the common bootloader which
does not rely on the BL_HELPER for writing to flash.
gcs uploader: add button to retrieve raw settings partition to file