This adds an alternative way of constructing the config type
dauphin classes, using the meta objects. We then power the
EnvironmentSchema.allConfigTypes field using it.
We also use it to powere configTypeOrError on EnvironmentSchema.
Eliminate duplicative root call at configTypeError
Worth noting that there might be an argument for keeping the root