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 imagine there would be cases where the order of applying the transformers is important. We should apply them in the order they appear in the YAML file (parsing the YAML to a Map could be another source of reordering).