First stab at removeWatch using TypeFamilies
Added TypeFamilies extension for Linux and rewrote watchDirChan with more explicit types
Attempted wrapper type for WatchID sessionType
Verbose fix of types in watchDirChan only
Fully compiling implementation for removeWatch
Fixed build warnings and added a little documentation to watch helper functions and test code