libbladeRF: [WIP] Changed return values for libusb backend's fpga prog

By returning the result, notably from end_fpga_programming(), we
wind up returning a non-zero return value where 0=success and <0=error
are expected.

However, I'm not sure we should be checking the result from the vendor
command response in these routines. Would it be a good idea to
ensure the FPGA is reset after issuing BLADE_USB_CMD_BEGIN_PROG?

There is a FPGA status poll loop afterwards, so I'm inclined to say
we can ignore the fpga status in the end programming command.