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 lifted value expression (which has the
type in the environment) and the lifted expression
itself.

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