remove simpleName from dynamic type, and cache as transient on snapshot
don't persist isTopLevelApp unless it's not obvious
experimental -- drop isTopLevelApp altogether; count entity as app if no parent. TBC.
if this is safe, can collapse w previous commit; if not, just drop this.
just set one of type and typeToken in config key and sensor, so serialization is nicer
persist dynamic effectors, done properly, and remove a bunch of warnings;
we're not persisting any other dynamic type info because it is all reconstituted already, it seems