New parser for pattern synonym declarations:

Like splitCon for constructor definitions, the left-hand side of a
pattern declaration is parsed as a single pattern which is then split
into a ConName and argument variable names
Add parser support for explicitly bidirectional pattern synonyms
Typechecker support for explicitly-bidirectional pattern synonyms
Add renamer support for explicitly-bidirectional pattern synonyms
tcLookupPatSyn: look up the PatSyn record for a given Id
Typecheck the wrapper definition of a pattern synonym,
after everything in the same scope is typechecked
When computing minimal recursive sets of bindings, don't include references in wrapper definitions
for explicitly-bidirectional pattern synonyms
Add test cases for explicitly-bidirectional pattern synonym
Refactor PatSynBind so that we can pass around PSBs instead of several arguments
Add note about renaming of pattern synonym wrappers
Add user documentation for explicitly-bidirectional pattern synonyms