bladeRF-cli: Disable 'recover' command when not building against libusb
libbladeRF: Added dummy backend

This allows libbladeRF to be built with no other backends, which is
generally only useful when working on new backends.
libbladeRF: Replaced hard-coded timeout with configured value

Upon a stream callback, the timeout stored in the device handle is now
used instead of a hardcoded value.

Renamed the macro for the ctrl xfer timeout to be consistent with its
bulk counterpart.
bladeRF-cli: Clamp TX CSV input values, touched up rx/tx help text

Since we're go to the trouble of converting CSV data to the bin format
prior to kicking off transmission, it's more user friendly to clamp
out-of-range values and warn that we did this.

This is not done for binary formats, as we don't want to introduce
additional per-sample computations into the callbacks.

Based upon feedback and user experiences, some additional details
and tips have been added to the rx/tx command help text.
bladeRF-cli: Added file-name expansion to: rx, tx, flash_image, and run

A file name expansion and fopen wrapper, expand_and_open() has been
added to common.c.

Moving forward, all new commands should use this to ensure file name
expansion is supported.
bladeRF-cli: Fixed TX buffer corruption when file size < buffer size

Fixes #212

This defect occurs when the size of the file (in sample) is smaller than
the stream's buffer size. Note that n_read here is in units of int16_t
values (I or Q) -- 2 of these make up a "sample."
bladeRF-cli: Added timeout configuration to rx and tx commands

This timeout is now also factored into the samplerate check.

Some cosmetic cleanup of the rx/tx start functions is included. The
nested "if (status == 0)" business was getting ridiculous.
bladeRF-cli: Added filename completion support for 'file=' parameters
libbladeRF: Cancel all pending transfers upon requesting to stop stream

More specifically, cancel all pending transfers as soon as the API user
returns a NULL from the async callback.
bladeRF-cli: Don't allow flash operations while streaming data

Flash operations and data streaming require the device to be in
different alt settings, and therefore it is not possible to do so
simultaneously.
bladeRF-cli: Version bump (0.10.3)

Patch incremented to denote:
    - Fix for buffer corruption in TX stream (tx command)
    - Adding rx/tx timeout configuration
    - Fixing tab-completion for "file=<tab>"
    - Clamping CSV input values
bladeRF-cli: Fixed build issue for fgets-based interactive mode
[lib]: Cast to uint64_t to retain precision.

The sample rate calculation requires a uint32_t to be multiplied
by 128.  Since this value can be very close to the upper limit,
multiplying by 128 can send it over the limit.

To retain precision, a cast to a uint64_t is required.
libbladeRF: Added -lbladeRF to generated pkg-config file