Inotify

I think I could fix an inotify issue - https://code.google.com/p/go/issues/detail?id=2483
see https://github.com/chamaken/inotify
And then I am glad if I can backport it to your fsnotify. Would you review the patchs?

> If I am watching a directory, and delete it, and recreate it, 
  and watch it again, any events after that are hosed:
> * the event.Name is incomplete, with the path stripped out e.g. 
    instead of /home/myname/a/b/c/d.txt, I get /d.txt
    instead of /home/myname/a/b/c/, I get ""
> * RemoveWatch fails with message: invalid argument
> * Close() doesn't really close. Most times, the reader goroutine hangs.

I'm not familiar with this stuff. Some comments would help.

So you're setting up epoll on the file descriptor for inotify events... and then this os.Pipe() file descriptor as well