Some preliminary work on lamba promotion

- lambda is converted to type family, type-level symbols and apply instances
  are generated
- no eta expansion
- no substitution of symbols inside promoted lambda (see comprehensive
  example on github wiki)
- use Apply for applying promoted lambdas
Generate symbols for promoted data constructors
More work on lambda promotion - squash this

- always insert Apply in promoted expressions
- if variable is not in scope promote it to type level symbol