This fixes a crash when running addWatch on a FilePath that contains characters not valid in the current encoding. For example, 'ü' is not valid in the C locale.
For OneShot events, we actually get two events; - the first event - and the 'Ignored'. Now we only remove our event listner once we get the 'Ignored' event. This closes bug #2.
... due to some bugs in earlier versions of cabal.