remove dependence of implementation details from test
add observer api tests
Fix unused arg treated as error with clang
Merge pull request #265 from apetrone/master

Fix unused arg treated as error with clang
dont start emitters on schedule if observer is not running
refactor: remove the silly get/add/remove wrapper methods for internal collections. use explicit checks instead of
catching KeyError.
explicitly check if we have the emitter. assignment here does nothing.
[inotify] update some comments and names for readability
[inotify] make delay a class attribute
rename DaemonThread to BaseThread. preparations for making all threads non-daemon
move sphinx markup to docs/
[inotify buffer] immediately unblock read_event and return None on close instead of using the special stop event.
properly interrupts all threads and subsequent calls.
simplify inotify buffer implementation by factoring out a generic delayed queue. separates the inotify/threading work
from the queue
[tests] verify that emitter terminated in function teardown
[tests] remove unnecessary test. tested in test_emitter.py
[tests] join obsserver before verifying, so it doen't depend on synchronous impl. of stop
add accessor to emitters created by observer
fix the issue : watch & unwatch the same folder on Windows may cause exception "Access Denied"
should close the dir handle
Merge pull request #270 from Falldog/windows_shutdown_issue

fix the issue: watch & unwatch the same folder on Windows
move emitter initialization into `start`. (don't block/start watching on object creation)