improved device enumeration to open every device, reset it, and get serial number; implemented methods to get serial number and open device by serial number; fixes #21
fixed SIGINT shutdown problem
fixed problem during device enumeration, if device is already open
moved usb device reset from enumerateDevices() to openDevice() otherwise there are problems if multiple processes use libfreenect2 to access different Kinects
Merge branch 'master' into fix_device_enumeration

Conflicts:
	examples/protonect/src/libfreenect2.cpp
add --host x86_64-apple-darwin flag to configure

As pointed out in the build recipe of libjpeg_turbo:

64-bit Build on 64-bit OS X
---------------------------

Add

  --host x86_64-apple-darwin NASM=/opt/local/bin/nasm

to the configure command line.  NASM 2.07 or later from MacPorts must be
installed.

linking will fail on 64bit systems without this flag due to:
"configure: error: configuration problem: maybe object file format mismatch". I guess there is hardly any macs  out there with USB3 but without 64bit OS. NASM should also be installed, in my case its installed from homebrew and found in the PATH.
Merge pull request #29 from christiankerl/fix_device_enumeration

enhance device enumeration
 - implements the methods to get device serial numbers and to open a device identified by its serial number
 - resets device inside openDevice method
reimplemented custom version of get_max_iso_packet_size, which works for usb 3 endpoints; this allows to switch from the forked libusb version of @JoshBlake to the latest official libusb version;
changed libusbx dependency to libusb
removed early exit from install_deps.sh
refactor Freenect2::openDevice to be less nested

Freenect2::openDevice was in danger of becoming a twisty maze of if/else
statements all alike.
handle LIBUSB_ERROR_NOT_FOUND from libusb_reset_device

It is possible (and indeed on my controller certain) that
libusb_reset_device may return LIBUSB_ERROR_NOT_FOUND under certain
circumstances outlined in the libusb documentation. In such cases we
should re-start device enumeration and re-open the device without
attempting reset.
introduce a small delay after reset before reenumeration

This is a rather nasty hack but is required to give certainty that the
Kinnect has re-appeared on the bus after a reset failed. In the absence
of a better solution this Gets The Job Done(TM).
change sleep() call to libfreenect2::this_thread::sleep_for()
openDevice: if tryGetDevice fails, it is a warning not an error

Change the error message into a warning message and allow open to
continue.
Merge pull request #32 from MrTatsch/patch-1

libjpeg_turbo fails to configure
libfreenect2: reinstate tryGetDevice as an error

If tryGetDevice fails, it *is* unrecoverable as far as initialisation is concerned.
libfreenect2: coding style fixes (if braces)

Make if0statement braces consistent with the rest of the file. (*Mea culpa*.)
Merge pull request #34 from rjw57/reset-workaround

Workaround for libusb_reset_device behaviour
updated README