fx3: Don't assume states for tearing things down.

Modified the firmware for SET_INTERFACE commands to first check
if the current interface is not the same as the requested interface,
tear down the current interface, and start up the requested interface.

This allows for the libusb code to be able to always request the device
go into FPGA configuration mode even if it is already in FPGA configuration
mode and not go out to lunch.