Populate a struct from a config provider. Iterates through each section in SectionHierarchy, loading the struct from thevalueof the given key in the given config section. Requires that the type metadata is specified for StructType, and that the config value is in config struct syntax.