refactor Watchman watch_root
refactor Watchman watch_root

Summary:
the watch_root and collection of relative paths we care about are closely related (they are relative only to that path), so moved them into a single record to carry them around together.

also moved all the related logic in `re_init` into a `watch` helper function to make `re_init` very short.

this is a setup for the next diff which uses `result` and would otherwise be very nested.

Reviewed By: nmote

Differential Revision: D28236902

fbshipit-source-id: 15876fbea3358cc0a8d9d5bf0ca106cd82f653d3

facebook/flow,mroch/flow,mroch/flow,facebook/flow,mroch/flow,facebook/flow,mroch/flow,mroch/flow,facebook/flow,facebook/flow,mroch/flow,mroch/flow,facebook/flow,facebook/flow