4167: Filter out code actions if unsupported by the client and advertise our capabilities r=matklad a=kjeremy
This PR does three things:
1. If the client does not support `CodeActionKind` this will filter the results and only send `Command[]` back.
2. Correctly advertises to the client that the server supports `CodeActionKind`. This may cause clients to not request code actions if they are checking for the provider to be `true` (or implement LSP < 3.8) in the caps but I will fix that in a followup PR.
3. Marks most CodeActions as <strike>"refactor" so that they show up in the menu in vscode.</strike>`""`.
Part of #144
#4147
#2833
Co-authored-by: kjeremy <kjeremy@gmail.com>