dirsnapshot: Fix merge conflict with py3k branch
First pass at Python 3 compat

Original author  wbond <will@wbond.net> with slight tweaks from
Hannu Valtonen <hannu.valtonen@ohmu.fi>
Added code to ensure we don’t try to decode a path that is already bytes
tests: Remove an extraneous print that breaks python3 compatibility
tests: Fix failing test_watchdog_directory_snapshot tests on Windows

These were caused by lack of inodes to compare against on Windows,
we try to get as close to Linux/OS X as we can and the end result
of notifications should still be the same, the route is just different
python3 fsevents support
fsevents: adjust the Python.h include to work on Python 3.x
fsevents: Python 3.x fix for list -> CFMutableArrayRef conversion
fsevents: Fix Python 3.x crash in FSEventStreamCallback

On Python 3.x the thread state needs to be restored before trying to
acquire the lock, otherwise it results in a crash, preceeded by a
warning message:

"Fatal Python error: PyEval_AcquireLock: current thread state is NULL"