Introduce periodic polling
Introduce periodic polling

We keep running into an issue where we don't always see both sides
of move or fast create/delete operations for a given file, resulting
in it showing up as exists:false.

This is the first step at avoiding this class of issue; once the
filesystem has settled, instead of sleeping until the next notifcation,
we'll set an upper bound on the sleep and then when we wake up we'll
speculatively recrawl the tree.

I'm going to follow up with a couple of diffs that make this delay
more configurable, and potentially combine the crawl with the first
notification post-settle, although I want to be careful about scheduling
multiple full-tree crawls throughout a busy period.

kevinsawicki/watchman,Ziriax/watchman,sdgdsffdsfff/watchman,masoncloud/watchman,dcolascione/laptop-watchman,montogeek/watchman,nodakai/watchman,webmasteraxe/watchman,yun63/watchman,dhruvsinghal/watchman,alanwill/watchman,alanwill/watchman,dcolascione/laptop-watchman,dcolascione/laptop-watchman,dcolascione/laptop-watchman,kwlzn/watchman,alanwill/watchman,windofthesky/watchman,sdgdsffdsfff/watchman,montogeek/watchman,sdgdsffdsfff/watchman,Jonekee/watchman,facebook/watchman,wez/watchman,bhamiltoncx/watchman,twitter/watchman,phmx/watchman,wez/watchman,Jonekee/watchman,amasad/watchman,sdgdsffdsfff/watchman,phmx/watchman,michalliu/watchman,michalliu/watchman,amasad/watchman,kevinsawicki/watchman,yangeagle/watchman,kwlzn/watchman,amasad/watchman,bhamiltoncx/watchman,wez/watchman,bitemyapp/watchman,yun63/watchman,amasad/watchman,twitter/watchman,yun63/watchman,yonglehou/watchman,Jonekee/watchman,wez/watchman,kwlzn/watchman,windofthesky/watchman,supriyantomaftuh/watchman,facebook/watchman,supriyantomaftuh/watchman,kwlzn/watchman,webmasteraxe/watchman,masoncloud/watchman,yonglehou/watchman,besarthoxhaj/watchman,exponentjs/watchman,besarthoxhaj/watchman,Jonekee/watchman,phmx/watchman,montogeek/watchman,nodakai/watchman,dhruvsinghal/watchman,alanwill/watchman,nodakai/watchman,dcolascione/laptop-watchman,sdgdsffdsfff/watchman,hanhailong/watchman,sdgdsffdsfff/watchman,wez/watchman,masoncloud/watchman,masoncloud/watchman,besarthoxhaj/watchman,supriyantomaftuh/watchman,yonglehou/watchman,webmasteraxe/watchman,yangeagle/watchman,amasad/watchman,dhruvsinghal/watchman,michalliu/watchman,exponentjs/watchman,facebook/watchman,Ziriax/watchman,yonglehou/watchman,bitemyapp/watchman,michalliu/watchman,yun63/watchman,wez/watchman,yangeagle/watchman,dhruvsinghal/watchman,Ziriax/watchman,yun63/watchman,montogeek/watchman,besarthoxhaj/watchman,yangeagle/watchman,webmasteraxe/watchman,michalliu/watchman,hanhailong/watchman,supriyantomaftuh/watchman,wez/watchman,twitter/watchman,bhamiltoncx/watchman,hanhailong/watchman,michalliu/watchman,windofthesky/watchman,kevinsawicki/watchman,exponentjs/watchman,supriyantomaftuh/watchman,webmasteraxe/watchman,webmasteraxe/watchman,hanhailong/watchman,dhruvsinghal/watchman,masoncloud/watchman,sdgdsffdsfff/watchman,dhruvsinghal/watchman,facebook/watchman,kevinsawicki/watchman,twitter/watchman,windofthesky/watchman,facebook/watchman,exponentjs/watchman,yangeagle/watchman,windofthesky/watchman,bhamiltoncx/watchman,windofthesky/watchman,kwlzn/watchman,facebook/watchman,yonglehou/watchman,twitter/watchman,yun63/watchman,montogeek/watchman,phmx/watchman,kevinsawicki/watchman,Jonekee/watchman,wez/watchman,besarthoxhaj/watchman,Jonekee/watchman,phmx/watchman,yonglehou/watchman,yonglehou/watchman,nodakai/watchman,michalliu/watchman,bitemyapp/watchman,dhruvsinghal/watchman,bitemyapp/watchman,besarthoxhaj/watchman,Jonekee/watchman,webmasteraxe/watchman,nodakai/watchman,dcolascione/laptop-watchman,masoncloud/watchman,wez/watchman,exponentjs/watchman,bhamiltoncx/watchman,bitemyapp/watchman,windofthesky/watchman,facebook/watchman,supriyantomaftuh/watchman,besarthoxhaj/watchman,kevinsawicki/watchman,yonglehou/watchman,amasad/watchman,twitter/watchman,masoncloud/watchman,Ziriax/watchman,dhruvsinghal/watchman,Ziriax/watchman,masoncloud/watchman,facebook/watchman,supriyantomaftuh/watchman,alanwill/watchman,montogeek/watchman,dcolascione/laptop-watchman,kwlzn/watchman,phmx/watchman,michalliu/watchman,webmasteraxe/watchman,hanhailong/watchman,bitemyapp/watchman,bhamiltoncx/watchman,nodakai/watchman,kevinsawicki/watchman,Jonekee/watchman,Ziriax/watchman,amasad/watchman,yangeagle/watchman,amasad/watchman,yun63/watchman,alanwill/watchman,exponentjs/watchman,montogeek/watchman,bitemyapp/watchman,nodakai/watchman,hanhailong/watchman,besarthoxhaj/watchman,hanhailong/watchman,yangeagle/watchman,yun63/watchman,twitter/watchman,facebook/watchman,dcolascione/laptop-watchman,nodakai/watchman,kwlzn/watchman,hanhailong/watchman,sdgdsffdsfff/watchman,montogeek/watchman,nodakai/watchman,supriyantomaftuh/watchman,twitter/watchman,bitemyapp/watchman