host: Added a config-time libusb version check and errors/warnings

FindLibUSB.cmake now fetches the libusb version via libusb_get_version()
so that we can warn (or error out) about the system containing an
outdated libusb version.

The following policies have been based upon support experiences and the
libusb changelog:

    Windows: Error out for libusb < 1.0.19
        v1.0.19 provides Windows 8 SuperSpeed detection support,
        and appears to address a number of issues bladeRF users
        have reported with v1.0.18 and earlier.

        We force users to update here, given that some of the failures
        on earlier versions were yielding corrupted samples.

    OSX: Warn for libusb < 1.0.18:
        v1.0.16 - v1.0.18 introduced SuperSpeed and 64-bit support,
        as well as fixes for compile-time and run-time issues.

    Linux: Warn for libusb < 1.0.16:
        This is largely based upon feedback from bladeRF users. While
        older versions may work, a number of users reported that issues
        appeared to be resolved after updating libusb to >= 1.0.16.
        (It isn't always clear if the reported update included Linux
         distro upgrades that included kernel updates.)

The version check may be skipped via LIBUSB_SKIP_VERSION_CHECK=Yes.
This is intentionally not noted in the warnings/errors, as it's
preferred that users update libusb rather than just skip the check.