Make formatters in formatting plugin configurable
This change introduces a json based config that allows the user to change config for a particular formatter.
There are two options supported by every formatter:
- path => path to the formatter executable
- formatOnSave => whether this formatter should run on save
By default all formatters will run on save if the global option for formatOnSave is enabled. However, one can use the json config to disable a particular formatter.
The reason for using a json style config is because it already works really well in LSP plugin and its very easy to integerate it in the .kateproject file. In contrast, a classical UI would be a pain to maintain and a lot less flexible.