Update blackboxes to new TypeLits situation
Use Sing and friends from 'singleton' package
Fix loading all external modules
Use more readable names for wiredIn types
Simplify and Update caseCon

- caseCon now also works for Literals
- DefaultPat is now assumed to be the first pattern, errors when
  this expectation is not met.
wobble error message
Don't inline wrappers if they are in an argument position

This happens when a wrapper in a left-over higher-order function,
in the argument position of a primitive.
Treat empty case statements as primitives
Simplify termination measures

- Number of specialisations of a function is now simply counted
  Once this number hits a predefined limit, a termination response
  is triggered.
- Total number of inlinings determines now determines inlining
  termination. Previously, multiple  inlinings of the same function
  in one bottomup traversal were counted as one.
Don't substitute recursive binders
Two fixes of liftBinders:

- Include IDs of sibling binders in the type environment
- Check if a binder that was supposed to be substituted moved to
  the remaining binders. This happens when the binder to be
  substituted is self-referencing
Use HashMap.lookupDefault instead of HashMap.!

for better error messages when lookup fails
More use of 'HashMap.lookupDefault' insteaf of 'HashMap.!'
Don't translate TyCon's with no DataCons to a Netlist VOID type
Simplify normalization strategy
correctly  indentify closed terms
Change examples to new TypeLit situation
Adopt examples to sing -> snat change
Inline "wrapper" functions
cleanup transformations and strategy code