fx3_firmware: Consolidated and GPIF (re)configuration in gpif.c

The PIB and GPIF (re)configuration have been tucked away in gpif.c,
which is now used by the FPGA loader and RF link configurations.

Unnecessary PIB and IOMatrix configurations have been removed.

This fixes Issue #195, as the FPGA loader previously did not include a
PIB reset, which has been found to be required when changing from a
16-bit to 32-bit GPIF configuration.
fx3_firmware: Perform "warm" GPIO config when enabling flash access

This fixes issue #196.

A "warm" IO reconfiguration is required, otherwise the FPGA's nConfig
will be reset to a default of CyFalse (resetting the FPGA).

Additionally, the firmware.c and associated functions have been renamed;
these are flash-related functions in general -- the "Firmware" name was
misleading.
fx3_firmware: Patch version bump to denote fixes for #195, #196
libbladeRF: Return to IF_NULL when closing a device

This has been found to be necessary on OSX. Without changing back to the
NULL interface, we run into upon re-opening the device.
libbladeRF: Switch back to IF_CONFIG or IF_RF_LINK after flash ops

We need to switch out of IF_SPI_FLASH after flash operations in order to
continue using the FPGA.

This, in conjunction with firmware v1.6.1, fixes #196.