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.
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