bladeRF-cli: Added CLI_RET_CMD_HANDLED
bladeRF-cli: Return non-zero code when --probe does not find devices

An optional `strict` parameter has been added to the interactive
mode `probe` command. Specifying this parameter instructs the command
to treat the case where no devices are found as an error.

Without specifying this `strict` parameter, the command will operate
as it has previously, treating this case as normal operation.

The handling of the --probe command-line option now uses `probe strict`,
as this provides shell scripts an easy way to determine if devices were
or were not found.
bladeRF-cli: Documentation typo fix
libbladeRF: Removed inline specifier from libusb.c probe functions

These functions in questions are being used in a couple places. There's
no particularly good reason I see to request them to be inlined.
libbladeRF: Added FX3 firmware read and validation routines

This changeset introduces functionality for reading and validating an FX3
firmware file, as well as for accessing the firmware data in a
per-section manner.

The validation currently consists of testing the checksum, checking
size fields for bogus values, detecting a truncated file, and
ensuring that RAM addresses are in the SYSMEM or I-TCM regions of
the FX3's address space, assuming the default linker script is used
(which the bladeRF firmware does use).

This is based upon the boot image format documented in Cypress's AN76405:
"EZ-USB (R) FX3 (TM) Boot Options" (http://www.cypress.com/?docID=49862)
libbladeRF: Added "probe target" to the device probing mechanism

This is intended to allow the same device probing code to find and
present a list of bladeRF devices or FX3 bootloader devices.
drivers: Added FX3 bootloader to customized cyusb3.inf
libbladeRF: Added API support for bootloader probe and recovery

API functionality to probe for FX3 bootloader devices and download
firmware to detected devices has been introduced.

This is based upon the boot image format/procedure documented in
Cypress's AN76405: "EZ-USB (R) FX3 (TM) Boot Options"
    http://www.cypress.com/?docID=49862
libbladeRF: Updated dummy backend

This file suffered some bitrot. It has been updated to include dummy
functions for all struct backend_fns members.
libbladeRF: Removed bootloader detection log_info() call

This sort of detection of bootloader devices will be added to the CLI
to be more backend-agnostic and make libbladeRF less noisy.