fpga: Changed build system.

Modified the build system for the FPGA, the following commands should be run
from the Quartus command line shell

  $ cd hdl/quartus && mkdir work && cd work
  $ quartus_sh -t ../bladerf.tcl && quartus_sh -t build -rev hosted

Should build the USB3.0 bridge FPGA.  New architectures are easy to modify
to create new functionality.
libbladeRF: Added setters/getters

Added some extra setters/getters for center frequency and gain.
Adding some new getters/setters.
bladerf: Adding documentation and liblms calls.
fx3_firmware: fix burst length for USB2.0 enumeration

USB 2.0 does not support bursting so the FX3 is entering undefined behavior
territory by setting a burst length greater than 1 in the case of USB2.0
libbladeRF: Header file cleanup, added bladerf_strerror

Misc cleanup. Added reference to RETCODES in doxygen @return's.
kernel: Fixed issue where write() returns 0 when programming FPGA
kernel: Removed urb print from driver
libbladeRF: Implemented firmware flashing, touched up FPGA loading.

Credit where credit is due -- All the code here is basically
copy/paste from Robert's earlier test code, with some added error
checks and debug output.

The firmware loading now checks the write return value and
performs partial writes as needed.

Items that need to be revisited are the sanity checks on file
sizes. In the future I plan to implement a "bladeRF Image" format
that will wrap size and a hash around a firmware/bitstream. These
checks will probably go into that code.
libbladeRF: fixup RX function