Add some missing cases to match
Add missing Eq and Show instances
When converting TH types convert Forall into Exists ...

This is what is needed when the constructors is in the context but it
seems a bit weird. Maybe refactor contexts and type matching in the
future?
Add convenience type filter function for contexts
Add function to match a type in a context
Finally start working on generating expressions again! ...

* Add type alias for the state in the ExpGen type
* Add convenience context functions ({push,pop}Context) to add/remove
  constructors to/from the context.
* Change localLambda to use the new context functions.
* generate, randomMatching and getMatching seems to be done
* Change runEG so that it takes a Language as third parameter (instead
  of a initial context). Although runEG still doesn't use the class
  environment of the Language definition.
* Initial generate' function. Just returns the matching constructor
  instantly. Need to generate arguments if the constructor is a
  function.
Remove commented out code from QuickGen.hs. Now only reexports the functions/types that are supposed to be exposed.
Add simple call to generate in Test.hs