Refactor the config validator so that it doesn't require serialized objects

refs #7701
Native codegen (WIP)