Release engineering for 0.4.7 PyPI release
Merge branch 'maint'

Conflicts:
	CHANGELOG.rst
	setup.py
Add test cases for type unions

Verify that the simplest of type union cases: property or none: are handled
by the default visitor.  Explore how type unions affect type visiting, and
add a warning.
Avoid emitting {'values':[...]} on JsonRecordList classes

JsonRecordList classes have an extra extraneous property,
unknown_json_keys, which somewhat ironically is impossible to get anything
into by default, and is not even visited without setting ``extraneous``.
However this default reducer was making the mapped result more complex than
it would typically need to be.  Instead, decide based on whether any of
those properties are filtered or not whether to use the complex form.
Update sphinx docs to commit 0.4.7-6-g88a9026