Add mechanism to replace some types with others
Add mechanism to replace some types with others

PropertyName (an alias for a union of Identifier and some other name
kinds) is causing problems, so for now we just replace it with
Identifier and ignore the possibility of other name kinds.

lucaswerkmeister/ctsl