Add PatSynDecl to TyClDecl
Lexer and parser support for new language pragma PatternSynonyms
Renamer for pattern synonym declarations

The right-hand side creates the pattern scope in which the left-hand
side is processed
Internal representation of PatSyn data
Add group_recursive field to TyClGroup
ConLike is a type for constructor-like things: real data constructors and pattern synomys.
AConLike is the corresponding new TyThing.
Monoid interface for UniqSet
IfacePatSyn: Iface representation of an exported pattern synonym
Add pat_wrap to ConPatOut
Typechecker for pattern synonyms
Add pattern synonyms to ModGuts
Add pattern synonym matchers and wrappers to keep_alive list
Handle ConLikes uniformly until we get to mkCoAlgCaseMatchResult
Desugarer for pattern synonym occurances

Split 'CaseAlt ConLike's into DataCon and PatSyn matchers, generate matchers per group
Instantiate PatSyn matchers