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 seems that FD_ macros were wrong. using original, 660b1c4c2fcd8232a4def9d5b571b99f0e612273 did not work but refering http://play.golang.org/p/rIuaDUzLXw, 0ab96cb1c86f29e698000e828d35add9b1c35ea9 worked. I will rewrite using select, timeout if you prefer.

By the way patches I've posted has strange EOF handling and needs a bit clean up, could you let me rewrite it? you can see these https://github.com/chamaken/fsnotify/commit/d6718be69144ca1dacdf2b6d51035b85f16c0e16#diff-9dee340ab29d1c1db9e272db38706348 and https://github.com/chamaken/fsnotify/commit/3687df3d3566cecd3590797d12ba21762e90b22e#diff-9dee340ab29d1c1db9e272db38706348