kqueue: addWatch sometimes just watches deletions

fix regression #48

When watching a directory with kqueue, fsnotify will watch all the files in it. This includes subdirectories, but it only watches for the subdirectory being deleted. This is to emulate the behavior of inotify on Linux.

A bug in 4a0d1ae9df8c61fb8912829fc714f189358a3dc7 resulted in it watching that subdirectory for all events, so watching a single directory would result in more events than expected.
kqueue: cleanup internal watch before sending remove event

#51 if the calling code were to Add the same file again it sometimes would result in a bad file descriptor (thought it was alreadyWatching)
v1.1.0 focus on kqueue