Kqueue changelist deltas. Part 1/5. EV_ONESHOT -> EV_CLEAR

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

Replace EV_ONESHOT with EV_CLEAR

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
Kqueue changelist deltas. Part 2/5. Decouple watches and events.

Remove INDEX_TO_UDATA and UDATA_TO_INDEX macroses