Add syntax property that tracks the exported name

This establishes a communication channel between the
contract system and TR. TR normally can't track the
relationship between the identifier bound to the transformer
that produces the contract expression (which has the type
in the environment) and the expression itself.

This change adds that information in a syntax property.
Add support for type-checking lifted contracted values
Add type for ~a