Debianization of libbladeRF and friends

How to build the .debs:
    wget https://github.com/Nuand/bladeRF/archive/master.tar.gz
    tar -zxvf master.tar.gz
    cd bladeRF-master
    debuild -i -us -uc -b

Caveat: once we get into a groove release-wise, we'll need to remember
to update debian/changelog (look at the 'dch' command)

This produces three .deb files:
bladerf_0~20131005-2_amd64.deb
    Contains bladeRF-cli, bladeRF-flash, and man pages
libbladerf0_0~20131005-2_amd64.deb
    Contains libbladeRF.so.0
libbladerf0-dev_0~20131005-2_amd64.deb
    Contains libbladeRF.so symlink, libbladeRF.h, and libbladeRF.pc

This is still somewhat fragile.  Also, it pretty much depends on
Ubuntu 13.10, which hasn't been released yet.  But we're ahead of
the game, no?!
Only copy one README.md file to debian docs
Add doxygen markdown files to generate man pages
Generate manpages for bladeRF-* with doxygen

It still requires manual canoodling, but the canoodling is with
markdown instead of nroff.
bladeRF-cli: rx/tx now use async interface, libbladeRF: USB dev speed API call

The rx and tx CLI commands now use the asynchronous stream interface to
yield more acceptable performance, and this code has been overhauled for
better readability. Command parameters have been added to allow for
configuration of the stream.

Although a bit overzealous, as "lock it if you use it" approach is taken
here. Optimizations may follow later..

Some rx/tx parameters now support K/M/G suffixes, where relevant.

To support sample rate sanity checks, an API function to check the
current USB speed has been added to libbladeRF. This speed is now
reported in the CLI 'info' command.
cli: Fix initializer and PRIu64 printing.
fixes issue #143

EN_LPF is bit 1 not 6.
Merge pull request #148 from LazyDodo/master

fixes issue #143
libbladeRF: Fix empty FPGA version "describe" and cache versions

The changes in ab36a93813325e0b51b9d747d17b623ebd29ea19 did not include
setting an FPGA version "describe" field to something other than '\0'.

Additionally, FW and FPGA versions are now cached upon opening a device.
The API calls now pass data from these cached values, rather than
re-read this information from the device.
bladeRF-cli: Fixes for Coverity items (CID 1107236 - 1107243)

CID 1107236 - 1107238: Dismissed as being intentional/false positives

CID 1107239: Fixed overflow in check_samplerate()

CID 1107240: Fixed memory leak in tx_csv_to_sc16q12()

CID 1107241: Condition associated with defect shouldn't occur,
             as bladerf_stream_init() should never return > 0. However,
             an ETYPE_BAD has been added to the CLI error types and
             used to initialize the err_type value in the RX and TX
             tasks. ETYPE_BAD should be used to initialize
             bladerf_error_type values to default values. In the event
             that unexpected bugs occur, this may help bring them to light.

CID 1107242: Removed incorrect conditional that relied on undefined
             value of status variable.

CID 1107243: Set bladerf_stream pointer to NULL after freeing, and
             added the stream deinitialization upon failure to the
             tx code (as there was a memory leak there). The double
             free() here shouldn't be possible, as the state transitions
             don't occur as modeled. However, we should be in the
             habit of setting re-used pointer to NULL after free(),
             and we'll see if this quiets Coverity. (If not, it's
             a non-issue and we should mark it as intentional.)
libbladeRF: Removed dead/unnecessary code

Addresses CID 1104712. The function returns at the first sign of error,
so the status check is extraneous.
bladeRF-cli: Fixed incorrect return value and potential leak

Memory leak pertains to CID 1107259.
bladeRF-cli: (Re-)fixed return value

The >= check was a vestige of older code; status is 0 unless set to an
error condition.
bladeRF-cli: Fixed invalid file write size
Corrected bootloader PID.
libbladeRF: add the ability to specify transfer timeout value
cmake: Fixed condition that resulted in CMP0007 warning

The trailing semicolon in the ${files} list was causing CMake to
complain about the presence of an empty list element. As of CMake 2.6.0,
this results in the warning folks were seeing.
libbladeRF: Fixes #151.

Everything except line 342 was changed.  The PA enable bits in the LMS
documentation show bits [4:3] in the table, with bit 2 always being a 0.
I could change it for clarity, but the value being written matches the
table but not necessarily the bits.
misc: Group associated with device in udev rule is now configurable

This is simpler than trying to automagically detect and choose
a default for the myriad of distros, and should hopefully avoid
confusion.
Merge pull request #142 from rtucker/issue121_packaging_debianstyle_gitfix

Issue #121 packaging, debianstyle (pull request attempt 2)