Add a FieldUpdate tool to simplify field overrides.
Standardize checkpoint saving and loading configs, using mixins so training checkpoint/export configs can use just the right fields (ex. no path since it's provided by the trainer)
Adjust some fields so they make sense for both saving and loading, and merge the ones for config selection into an enum (see below).
Move checkpoint save/load from Run to Trainer and simplify.
Make IntervalConfig into a proper class (use FieldUpdate foe doc instead)
Make export checkpoint fully configurable, save separately instead of using a symlink.
Add keep_every for checkpoints to get the old behaviour, and optional callback script.
RENAME[BW COMPATIBLE] pretrained.imported_type ->pretrained.model_type RENAME[BW COMPATIBLE] pretrained.load_weights -> pretrained.model_weights RENAME[BW COMPATIBLE] pretrained.load_optimizer -> pretrained.optimizer_state MERGE (pretrained.override_architecture, pretrained.load_full_base_model_config, pretrained.load_full_fast_llm_config) ->pretrained.load_config:enum