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.
libbladeRF_test: Addressed warning about unchecked return value
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.)