Move ExplicitForAll checks out of the parser
forall is unconditionally a keyword in types, we can move the checks for
ExplicitForAll out of the parser and into (say) the renamer. This should allow us to produce better error messages, I think.
This is just an internal refactor, but it strikes me as worthwhile.