libbladeRF: Added simple full-duplex repeater test

This test program re-transmits received data in real time (optionally on
a different frequency.)
libbladeRF: si5338 refactored to support fractional sample rates.
libbladeRF: bladerf_load_fpga no longer checks current FPGA status

This check was only being used to print an informational message.
However, it was supposed to be used to change the return value to
indicate the FPGA being re-loaded versus loaded.

Because the caller can check the FPGA state via
bladerf_is_fpga_configured(), this check has been pulled out, and the
interface now specifies that this functions return value only indicates
success (0) or failure (error code).
libbladeRF: Cleaned up a few minor Doxygen warnings
libbladeRF: Clarified a few items in the header documentation.
[libbladeRF] Exposed erase/read/write functions
[bladeRF-cli] Added erase option to cli
[libbladeRF/bladeRF-cli] Added support booting directly from the FX3 bootloader
Initial JUMP_TO_BOOTLOADER support
 - Added method to libbladeRF
 - Added new VID/PID pair to udev rule to prevent requiring root access
 - Added jump_to_boot bladeRF-cli command
 - Fixed most warnings in FX3 firmware
[bladeRF-flash] Initial version
Initial version of bladeRF-flash tool
Fixes found during testing of bladeRF-flash
 - Looks like trying to transfer data just before a RESET doesn't complete
   Changed RESET vender request to data-less
 - Fixed some missing new line chars
Handful of stragler log fixes
Bump FX3 firmware version
Assorted fixes for bugs when testing on Windows
Cleaned up assorted prints and fixed not clearing found var on get events
Fixed timing out libusb when flashing
Merge pull request #96 from litghost/fx3_cleanup

FX3 cleanup and new flashing strategy
host: temporarily disable building bladeRF-flash if libusb-1.0.17 isn't installed
[libbladeRF] Added some missing error checking in Si5338