Integrate dmatveev4

EV_ONESHOT -> EV_CLEAR. Now we don`t lose any events and don`t have to register kqueue changes "over and over again"

One drawback of proposed changes is a lose of watch creation atomicity. Now we register kqueue events one by one rather then all at once. This is done due to complicated error handling in latter case: http://doc.geoffgarside.co.uk/kqueue/kqerror.html