libbladeRF: Return "unsupported" when trying to enable the XB-100

This addresses issue #309. The XB-100 isn't currently supported via
libbladeRF. This support will come in the future, after the necessary
functionality is presented in the FPGA/firmware to expose this to the
host.

xb_attach() in xb.c was written in a way that would result in a
successful error code being reported when provided with an invalid or
unsupported expansion board type. This has been addressed, with some
cleanup to this function.

In making this change, it was noted that setting BLADERF_XB_NONE was
not disabling an attached expansion board.  A FIXME was added here to
draw attention to this; I've registered an issue for this and will
assign it to the author of the XB code.
libbladeRF: Fixed USB 2.0 regression introduced in 7b0cc24f

When changing submodules to not call the top-level API functions,
I missed the fact that bladerf_config_gpio_write() was performing
an adjustment on the write value in order to ensure the DMA size
bit was not clobbered.
bladeRF-cli: Add support for selecting XB-200 filters

This addresses issue #288.
bladeRF-cli: Changed xb argument order and xb command code cleanup

The xb command has been updated such that the arguments are now
in a more intuitive order:

    xb <model_number> <subcommand> [arguments]

Where model_number is "100" or "200" and the subcommand and associated
arguments are dependent upon the XB model.

Fixed detection of invalid xb command arguments and reorganized
xb commands code to improve readability. Further touched up help text.
bladeRF-cli: Added information and touchups to xb command help

The board_model and subcommand items are now annotated with <> to
denote they are mandatory.

Descriptions of each of the filter XB-200 filter options have been
added.
libbladeRF: Added additional information about XB filter & path options