Add a flag -fwarn-missing-local-sigs, and improve -fwarn-mising-signatures
The new flag prints out a warning if you have a local,
polymorphic binding that lacks a type signature. It's meant
to help with the transition to the new typechecker, which
discourages local let-generalisation.
At the same time I moved the missing-signature code to TcHsSyn,
where it takes place as part of zonking. That way the
types are reported after all typechecking is complete,
thereby fixing Trac #3696. (It's even more important for
local bindings, which is why I made the change.)