runtime: provide list field setters that return the new list
codegen: emit _set and _init for list fields
codegen: emit _init for struct fields
runtime: fix bugs in determining scope-relative names
codegen: fix generation of enum type names
codegen: fix unclosed Builder sig and struct
codegen: fix miscellaneous issues discovered while updating PluginSchema