Pass through Promote.hs.

The precise details of the code generation is different from before,
so the testsuite falls over. I have yet to analyze the output to see
if it is sensible. Also, singleton generation is not yet switched over,
so some weird things happen. (Note the InsertionSort test case,
involving "if".)

But, it compiles, and given the bootstrapped nature of the library,
that means that it's close to working. More soon.
The "Promote" tests pass on 7.8.
Mostly finished with th-desugar rollover.

All test cases except HigherOrder compile. There is still some
refactoring I want to do (breaking Single and Promote into smaller
modules), but things are mostly done now.
Promotion of records now works.
Enable ScopedTypeVariables in List.
cabal build now works
Started moving Promote to Singletons in testsuite.

This commit also introduces the newtype instance Sing for
lambdas.
HigherOrder works. w00t.
Quickly fully builds.
Refactoring -- splitting Single and Promote into submodules.
Comments, mostly.
Classes and instances now promote.