Fix tree mode bug.
Transfer compatible properties to the new object when type is changed.

A cache of recent instances is also kept, so that if you switch
to a new type but switch right back, you'll get back your old object.
Validate configs selected as derivation roots.

In their own derivation chain they cannot reference us.
Added ManagedConfig.getConfigGroup().

It's a convenience for cfg.getConfigManager().getGroup(cfg);.
This snuck-in in the last commit but I'll use it more broadly now.
Use getLabel() to translate the name of the sub-types.