For LSP methods/pickers:
- references
- definition
- typeDefinition
- implementation
Passes the server results through client (and neovim's) lsp handler
function.
This lets those handlers deal with some of the language server specific
idiosyncrasies.
Also refactors shared code between these pickers.
Other pickers/methods will need similar treatment.