Better handle Lwt.Canceled in Watchman_lwt
Summary: `Watchman_lwt.catch` is used by the functorized `Watchman` module in place of `try...with`. Previously, the `Lwt.Canceled` expression would be passed to `catch`'s error handler. Then [the watchman code](https://github.com/facebook/flow/blob/
7c2d586c6ce1c94b365246f9adaca3bb32151f4d/hack/watchman/watchman.ml#L628) would consume the `Lwt.Canceled` and instead raise `Exit_status.(Exit_with Watchman_failed)`. This wasn't disasterous, but it prevented us from cleaning up.
Reviewed By: mroch
Differential Revision:
D13060160
fbshipit-source-id:
efd2f2cb8c97d7319ed5e92d5dae04baad2fec47