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.

It might be just the right thing, I'm just still learning Linux stuff since taking over maintenance of the project. 

I do want to make sure that it's understandable and maintainable going forward.

Take a look at #5 and the links to when @howeyc added and remove select(). It should be related.