host: Centralized duplicated code

Moved function to get string description to conversions.c.

There's a similar function within libbladeRF's backend.c, but that
is intended to be used in the device information string; this is
intended to be a bit more humand-readable.
libbladeRF: Addressed potentially uninitialized variable

status could be undefined the library is built with no items in the
usb_driver_list. This is unlikely, but keeps the build clean.
bladeRF-cli: Use libbladeRF functionality for bootloader recovery

This was previously dependent on libusb-specific code. The functionality
added to libbladeRF is now used in order to support recovery when
using the Cypress driver backend (as well as any future back
implementations.)
bladeRF-cli: Inform user if bootloader devices are present

Before attempting to open any devices when going into interactive mode,
running a script, or executing "-e" arguments, bladeRF-cli now checks
for any FX3-based devices in bootloader mode, and alerts the user
to their presence, recommending that he or she see 'help recover'
for more information.

Previously, a libbladeRF log_info() message was used to alert users
to the presence of FX3-based devices enumerating in bootloader mode.
This was removed to alleviate noise and because it was buried in
backend-specific code.

Given that the bladeRF-cli is intended to be the "go to" program for
debugging the state of a bladeRF device, this alert is more
appropriately located in this program.
bladeRF-cli: Touched up help text for 'info' command