Separate class ConfigId from the ConfigFlattener.

Tuple sucks. This will be used instead in a few places.
Checkpoint on new Validator.
Move validator to editor/util.
Redid config & resource validation based on a visiting Validator.

How many different ways can we learn that statics hamstring us?
You can't subclass a static method, so there was no way to customize
validation, but now we have the Validator object to which
configs and scenes submit themselves for validation.

I also (perhaps stupidly) factored-out an AbstractValidatorTask,
because ConfigValidatorTask & SceneValidatorTask were 80% the same.