Desugar "if" just like "case"
Address #6, by detecting universal patterns.

This implements a check for universal patterns and does not
continue to desugar matches after a universal pattern. This
does *not* eradicate #6, but it makes it less of a problem
in practice (in singletons).
Add Lift; version bump; make nicer docs.
Fix haddock.
Fix Role constructors for 7.6.3.
Fix role name in test case.
Use correct Lift instance for newtypes.
Turn on -Wall.
We have orphans in Lift.
Squash warnings in Lift.
List TemplateHaskell in cabal file.
Clarify changelog.
Version bump; add expanding open type families.
Expand reducts *after* expanding, to squash type variables.