Semantic tree transformations

I've just committed the start of a semantic AST transformation, which is intended to be the basis for template instantiation, expression cloning, and any other tree transformations. At the moment, it's being used for template instantiation of types. The actual commit is here:

  http://lists.cs.uiuc.edu/pipermail/cfe-commits/Week-of-Mon-20090803/019982.html

Comments welcome!

  - Doug