libbladeRF: Fix empty FPGA version "describe" and cache versions

The changes in ab36a93813325e0b51b9d747d17b623ebd29ea19 did not include
setting an FPGA version "describe" field to something other than '\0'.

Additionally, FW and FPGA versions are now cached upon opening a device.
The API calls now pass data from these cached values, rather than
re-read this information from the device.