Call Lwt.pause in lsp's main loop
Call Lwt.pause in lsp's main loop

Summary:
It's a TODO of mine to convert `flow lsp`'s main loop completely to Lwt. At the moment it relies on `Unix.select` and may never yield to Lwt during it's idle loop. You can see this by logging from an `LwtLoop` running inside of `flow lsp`. When nothing happens, the `LwtLoop` stops logging regularly.

I have a stack of diffs which starts to convert `Jsonrpc`, but until then the easiest thing to do is to just explicitly yield using [`Lwt.pause ()`](https://ocsigen.org/lwt/3.2.1/api/Lwt#3_Yielding).

Reviewed By: avikchaudhuri

Differential Revision: D15544979

fbshipit-source-id: 3a62d892aa67a8b5943038c8fa80a9993567d159

samwgoldman/flow,mroch/flow,facebook/flow,facebook/flow,gabelevi/flow,mroch/flow,gabelevi/flow,mroch/flow,samwgoldman/flow,samwgoldman/flow,gabelevi/flow,gabelevi/flow,facebook/flow,facebook/flow,facebook/flow,facebook/flow,facebook/flow,gabelevi/flow,mroch/flow,gabelevi/flow,mroch/flow,samwgoldman/flow,samwgoldman/flow,samwgoldman/flow,mroch/flow,gabelevi/flow,samwgoldman/flow,mroch/flow