fx3_firmware: Clear DMA buffers when disabling an RX or TX module

Stale RX and TX samples have been reported (issue #255). This occurs
because the CyU3PResetEp() call does not reset DMA channels and their
underlying DMA buffers, nor does it clear the DMA buffers associated
with an endpoint.

Use of the existing ClearDMAChannel() as is would have required some
ridiculous shoehorning, so some cleanup was done:

    - Endpoint halt & ACK operations have been removed from
      ClearDMAChannel(). These operations are outside of the scope
      of clearing DMA buffers, and have been moved to their respective
      locations in handling set/clear halt endpoint requests.

    - reset_endpoint() has been added to the NuandApplication function
      table. Internally, this operation is now used in performing
      the halt_endpoint() operation.

    - Misc return value checks added. Granted, these don't help much
      as there's no accessible debug log.
fx3_firmware: Added support for reading back FW loopback state
fx3_firmware: Bumped patch revision (v1.7.1) for fixes
libbladeRF: Added readback of FW loopback, ensure mutually exclusive LB

Added the ability to read back the state of FW loopback from devices
running FW v1.7.1. While it is possible to enable FW loopback mode in
v1.7.0 firmware, libbladeRF will now enforce the v1.7.1 requirement so
it can correctly read back the FW mode.

bladerf_set_loopback() has also been fixed to ensure that the
FW and LMS loopback functions are enabled in a mutually exclusive
manner.