Improve satisfied types + case types

* Allow them to be across multiple lines
* Add an option to put spaces around them (defaults to true – breaking change)

Suggested by @gavinking.
Give parameter lists an indentBefore

Spotted by @gavinking.
Fix missing { in FormattingWriter.writeToken doc
Use the elseOnOwnLine option for catch as well

Suggested by @gavinking.