Feature: transform state

For transforming persisted state, e.g. if a class has been renamed.

For reviewing, probably best to go through one commit at a time.

For the CLI support, this is really to get early feedback. It needs improvements, and I haven't written any docs.
I think that passing the parameters to the XSLT script would be more flexible/useful than doing a String transformation beforehand. It would even make the processTemplateContents step superfluous. The existing xslt snippets can easily be transformed to accept parameters - I can do the changes if we go that way.