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.
Warning:
Type safety: Unchecked cast from Map<capture#1-of ?,capture#2-of ?> to Map<String,Map<?,?>>