fx3_firmware, libbladeRF: Packed FW version structure, moved serial # init

The bladerf_fx3_version structure is transferred as-is. Currently this
likely doesn't pose any isseus for most machines, since it contains only
two uint32_t's. It's now marked to be packed, just to be safe.

The serial number initialization (ExtracSerial()) has been moved before
the CyU3PConnectState() call to remove a potential race condition.

Macro definitions are now provided for string descriptors.
libbladeRF: Fixed memory leak, cleaned up deinits in failure cases

The FPGA and FW versions were not being freed in lusb_close(). Some
potential leaks existed in failure cases.
common: Fixed warnings the broke Windows build (with /WX)
bladeRF-flash: Removed self-assignment

Resulted in warning that breaks build with Clang (3.2.1), via -Werror
bladeRF-cli: Cleaned up output for "version" command

Indented output. A less ugly message is printed when no device is
attached.