Implements renamer checks to verify that static is only given top-level value bindings.
Implement typechecking for the static form.

This patch requires an update to the base package so it includes the
module GHC.StaticRef.

The StaticRef type is made wired-in so the typechecker can use it
regardless of whether it is in scope.
Implement desugaring for the StaticValues extension.

    static f
==>
    StaticRef $
	  GlobalName "package of f"
	             "package-installed suffix"
	             "module of f"
				 "name of f"
Make sure identifiers given to static are exported.
Add HsStatic case to coverage code.
Fix T4437 so it succeeds with the StaticValues extension.
Implement tests of the StaticValues extension.