There are probably still a lot of variable names and comments to fix, but this updates all the Go code. Towards #441
Also fix quad_tree to take advantage of that to be generic again. Fixes #445, #497
This is needed to be able to round trip enums. If there is no codegen for an enum that is read from the datastore we now return a types.Enum which can be serialized back to the same sequence.