Allow type arguments to have arrows. Fixes #1

Currently something like
f : List ({A : Set} -> A) -> Nat
is not supported.

Because casting [forall a. a] to this is incorrect.
Now respects COMPILED, COMPILED_TYPE and COMPILED_DATA.

* Disallow exporting symbols that were COMPILED, COMPILED_TYPE
  or COMPILED_DATA
* Types are generated for arguments of compiled type just like
  they are for exported types.
* Terms generated are not altered at all because casting to compiled
  types is ok.