libbladeRF: Check against VCO_LOW/VCO_HIGH.

When doing the search for the correct VCOCAP value, check to make
sure we are not equal to the edge stopping condition instead of
checking against VCO_NORM.  This avoids a problematic situation when
the found VCO_NORM value is on the cusp of being unlocked, causing
the upper bound to end prematurely.
libbladeRF: Added functions to check version numbers
fx3: Bumped version to 1.7.0

Version bumped to denote added firmware loopback feature.
libbladeRF: Check for required FW version when enabling FW loopback
libbladeRF: Bumped revision to v0.15.0

Changes since v0.14.0 tag include:
 - Overhauled backend interface to decouple device logic from libusb
   code. Moved code to a generic USB interface and libusb code under
   that interface. This should allow host-specific drivers to be more
   easily integrated.
 - Addressed race conditions in the async RX/TX interface. pthreads is
   now a required dependency of libbladeRF.
 - Bug fixes for the sync RX/TX interface
 - Windows build and compatibility fixes
 - API changes:
    + Added functions:
        - FPGA timestamp access (requires FPGA v0.0.4+)
        - Expansion board GPIO and SPI accessors (requires FPGA v0.0.4+)
        - Firmware loopback (requires FX3 FW v1.7.0+)
    + Changed SPI flash access functions
        - Functions operate in units of erase blocks and pages
        - Removed un-aligned accesses
bladeRF-cli: Bumped version to v0.10.8

Changes since v0.10.7 tag:
    - Updates to corresponding to libbladeRF API changes
    - Removed device reset after flashing firmware
    - Interactive help text command added to allow man page to
      be generated without needing a script to scrape text.
    - Preliminary support for XB-200
bladeRF-cli: Release "device control" lock while performing rx/tx wait

This fixes #251, which was a regression as the result of commit 85d1633.
By holding the "device control" lock while waiting, a completing rx/tx
stream operation would become deadlocked while attempting to disable its
associated module and notify the main task about the operation
completing.
libbladeRF: Added error code return after assertion (CID 1213847)

Ensure this function can't proceed if release assertions become
disabled, and to appease static analysis tools.
libbladeRF: Fixed potential memory leak in cases with bad args  (CID 1213846)
bladeRF-cli: Fixed leak of expanded path name (CID 1206512)
bladeRF-cli: Fixed leak in case where image alloc fails (CID1206511)
bladeRF-cli: Fixed leak in TX file conversion faliure (CID 1206510)
libbladeRF: Fixed leak in FPGA flashing failure case (CID 1104234)
libbladeRF: Added "File not found" API return code

Operations that open files (e.g., firmware flash, FPGA load) now
return BLADERF_ERR_NO_FILE instead of BLADERF_ERR_IO when a file not
found. This is intended to help differentiate between user-error in the
aforementioned operations and a device-failure.
bladeRF-cli: Renamed input interface functions

Previously this was only for interactive mode support, and has since
grown to include scripting support. Following commits will include
support for commands specified via the command. As such, this renaming
is intended to clear up misnomers before further adding to any
confusion.
bladeRF-cli: Changed CMD_RET_* -> CLI_RET_* and similar fn renaming

This is another non-functional, code cleanup (yak shaving) item.

The CMD_RET_* codes are now used throughout the CLI and not just in
commands. Therefore, they have been moved to common.h and renamed
appropriately. Similar changes have been made with functions like
cmd_strerror() -> cli_strerror().
bladeRF-cli: Added -e <command> support

This option allows interactive mode commands to be executed from the
command line. Multiple -e <cmd> arguments may be provided; they will be
executed in the order they are specified.

Operations/command are performed in the following order:
    - Command line options (e.g., FPGA load, firmware flash)
    - Commands from '-e <cmd>' arguments
    - Commands from script files
    - Interactive mode commands
bladeRF-cli: Differentiate between file "not found" and I/O errors
bladeRF-cli: Cleaned up items reported by Clang static analysis

tx.c - Removed dead assignment, fixed leak due to incorrect status check
main.c - Memory leaks in rc_config items
conversions.c - Removed dead assignment
script.c - fileno() doesn't fail when given valid FILE*. Removed false positive.
libbladeRF: Addressed items identified by Clang scan

tests/test_sync/src/test.c:
    Changed sample buffer type to int16_t. These alleivates noise from static
    analysis tools regarding a type mismatch with sizeof(), and better
    exemplifies the buffers that should be used in conjunction with the SC16 Q11
    format.

tests/test_repeater/src/repeater.c:
    Fixed unchecked pthread_cond_wait result.

tests/test_async/main.c:
    Fixed unchecked return values, minor cleanup.

src/lms.c:
    Removed dead assignment.

src/backend/usb/usb.c:
    Corrected unchecked return value.

src/backuend/usb/libusb.c:
    Fixed uninitialized variable in error path.