header: Clarify comment on hid_read() and hid_read_timeout()

Clarify that a return value of zero means no packet was available.
linux: Better kernel version detection

Refactor version detection into a function.
Handle versions of form X.Y.Z as well as X.Y.
Don't do workarounds for old kernels if version cannot be detected.
hidtest: Remove "All Rights Reserved" from hidtest.cpp

The language may be confusing for this file, since the hidtest.cpp file
may be used by anyone for any reason.
libusb: Add support for compiling on Debian/kFreeBSD
libusb: Include PTHREAD_CFLAGS when linking libhidapi-libusb

m4/ax_pthread.m4 says that PTHREAD_CFLAGS needs to be provided to the
linker line as well as the compile line.  This enables static library
builds of hidapi.
windows: Set the OS report buffer size to 64 reports

Resolves issues with dropped input reports when receiving a large amount
of data.
configure: Check for Fox 1.7 as well as Fox 1.6 for the testgui

The testgui will work with both, so check for them both at
configure time.

This came from Alex Barker <alex@1stleg.com> and was posted on github.
windows: Limit hid_read() return value to buffer length

hid_read() and hid_read_timeout() now return the number of bytes copied,
instead of the number of bytes returned by GetOverlappekdResult() (which is
the maximum report size for the device).  This limits the return value to
the requested length (buffer size), matching the behavior on other
platforms.
libusb: Fix null pointer dereference in hid_open()

Make sure hid_device_info.serial_number is not null before passing it to
wcscmp().

When libusb can't open a device for any reason (e.g. file system
permissions), hid_device_info.serial_number is NULL. Make sure
hid_device_info.serial_number is not null before passing it to wcscmp(3).

Signed-off-by: Michael Hanselmann <public@hansmi.ch>
libusb: Add Android support

This code originally came from Pekka Nikander <pekka.nikander@senseg.com>
libusb: Adapt to FreeBSD 10

FreeBSD 10 has libusb_get_string_descriptor() in base libusb, so don't
define it here.
windows: Return the correct length from hid_get_feature_report()

The Windows DeviceIoControl() doesn't account for the report ID byte.

Reported-by: Petr Stehlík <pstehlik@sophics.cz>
header: Update documentation for hid_get_feature_report()
Merge remote-tracking branch 'signal11/master'