cache field and column mappings by type
Merge branch 'improve-performance'
add test for untagged fields
improve expected error testing

* fix a couple of typos
* fix message when expected error is nil
* add test to verify that expected error is of type unmarshalTypeError
Merge branch 'better-testing'