don't catch exceptions in LSP commands
don't catch exceptions in LSP commands

Summary:
some functions in `CommandHandler`, like `get_def`, `infer_type` and `coverage`, are used by both ephemeral commands and the LSP.

ephemeral error responses are like `ServerProt.Response.AUTOCOMPLETE (Ok _ | Error msg)` rather than `Ok (ServerProt.Response.AUTOCOMPLETE _) | Error msg`, so we use `try_with_json` to catch any uncaught errors.

but this isn't appropriate in LSP commands, which have their own catch-all error handler and reply with an LSP error.

so, this diff hoists the `try_with_json` calls out of the shared code and into the ephemeral commands, so that the LSP codepaths can fall back on their specialized catch-all handler.

Changelog: [internal]

Reviewed By: samwgoldman

Differential Revision: D32208150

fbshipit-source-id: b52aa7c5b5413c50aa45b0aeda1817fee4281fc8

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