[x] readerValidator.PropertySanitizationPolicy(propName string) map[int]Policy (so there's a getter to expose that, not a private field.)
[x] Update documentation throughout package to define what kinds of inflation/validation happen at different places (including that structInflater structs are primarily about how to take a struct with some nil interface fields and expand them with empty structs). And then that delegate.Constructors all have this run on them.
[x] readerValidator --> StructInflater.
[x] move structInflater code to struct_inflater.go
One of the nice things about having StructInflater be public is that that's a convenient place to document how it works and what kinds of transformation it does.
639 depends on this.
Auto inflation is powerful but doesn't feel like it belongs directly in the core package. (Especially if DefaultGameDelegate moves out of it)
The package should probably be internal to the boardgame package, to communicate that you should't use it directly.
First, will want to fix newReaderValidator to not need exampleReader and exampleReadSetter.