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