[FX3/libbladeRF] Major refactoring of FX3 application

 - Split RF, FPGA load, and firmware methods into seperate .c files
 - Split several vendor requests to eliminate magic glEp0Idx and to allow
   for better error handling
   - Updated libbladeRF to use new vendor requests and properly check return
     code.
 - Changed glSpiPageSize from global to #define
 - Move OTP handling into firmware.c
 - Version bump

Conflicts:

	fx3_firmware/bladeRF.c
[libbladeRF] Removed incorrect free
[FX3/libbladeRF] Added explicit calibration cache
[FX3] Fixed end-point halt
[bladeRF-flash] Ignore failures in flashing or reseting, and just look for the bootloader
[bladeRF-flash] Changed messages to be less hostile when flashing a v1.2 board
Merge pull request #109 from litghost/fx3_cleanup_v3

Fx3 cleanup v3