catch exceptions when reading watchman responses
catch exceptions when reading watchman responses

Summary:
this stack converts all of the functions in watchman.ml to return results instead of throwing exceptions, so that we can ensure we handle all the error cases.

during the transition, we will call `raise_error` to maintain exception behavior, but eventually thread the `result` further and further up and eliminate `try/with`'s.

Reviewed By: nmote

Differential Revision: D28169686

fbshipit-source-id: 4366dd4a2bf57765bd3ad328e3b54b8ba9cf8083

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