Quiet autotools
Quiet compiling test suite with clang
Quiet OpenBSD
Teach test.c IN_IGNORED event.
Split conversion functions arguments to is_directory and subwatch
It helps to make inotify2kqueue and vice versa flags conversion more fine grained.
Ignore NOTE_EXTEND as it is a flag not an event and is irrelevant to inotify.
Fix extraneous IN_ATTRIB event on subdirectory creations and deletions

Kqueue set NOTE_LINK flag on every subdirectory creation and deletion.
Dont treat it as attributes change and ignore.
NOTE: creating directory in subwatched directory now produces empty event
      It will be fixed later
Send IN_DELETE_SELF only on real delete (link count = 0)

Kqueue send NOTE_DELETE event on every decrease of links counter while inotify
send IN_DELETE_SELF only when link counter reaches zero. So treats NOTE_DELETE
as file attributes change until link counter reaches 0.
Fix subwatch creation when no IN_(CREATE|DELETE|MOVE) flags specified

Watched directory has to be reread every time it changed for keeping list of
subwatches up to date
Free resources allocated by watch after deletion
Fix linked list corruption issues resulting in memory leaks
Replace extraneous dl_shallow_copy/free pair with pointer assignment
Use S_IS* macros instead of direct bit manipulations
Replace EV_ONESHOT kqueue flag with EV_CLEAR

Do not lose events firing while libinotify internal processing,
especially while directory reading and diffing.
https://groups.google.com/forum/#!topic/mailing.freebsd.hackers/hC_peWiAhpk

Another great advantage is that we do not have to reload whole bunch of
watches on every kevent(2) call. Only newly opened ones is enough
Remove volatile udata payload from kevents.

Watch index can be changed after other watch removal so its use with EV_CLEAR
is not safe. Remove now unused INDEX_TO_UDATA and UDATA_TO_INDEX macroses