Use explicit ForallTypes in FlatCurry representation
In the FlatCurry representation, the two functions
id :: a -> a
id :: forall a. a -> a
should have the same normalized representation that uses the
ForallType constructor in both cases.
In general, type variable quantification should be explicit in the FlatCurry representation and type should be in weak prenex form.