refactoring watch

Hi,

I have refactored the watch.clj to be more idiomatic. Can you please check it out? 

There is only one bug, the first time an event occurs in a dir, it doesnt get reported immediately, it gets reported along with the second event. Its too late and I am going to sleep, maybe you can spot the bug. 

Thanks,
Murtaza