Add a optional list of available formatters and a default formatter option
extra comments
set json error back to previous value so tests pas
Added tests for the new options + test refactoring
docs and minor test tweak