JSON constructor: be consistent about calling from_json on Record values

If a JsonProperty contains a Record, it would end up passing the value
through to the Record constructor as-is, effectively ignoring any
JsonProperty overrides.  Abstract the logic to a new function, and also
completely defer the work to the JsonRecord constructor if dealing with
that type.
Bump package version 0.2.3
Bump package version 0.2.3
Diff sub-class API: add 'normalize_slot'

Sometimes it is important to know the context of the value being
normalized; add a DiffOptions sub-class hook method which receives
the meta-property being traversed.
Kill autodoc_default_flags

Sphinx's autodoc_default_flags feature is unusable.  If you specify any
options here, it is impossible to un-specify them later.
Some Docstring RST clean-ups
Support documentation of Property objects

This lets Sphinx' autodoc (and potentially others) work with normalize
classes.
Documentation update for 0.3

Working through the undocumented things and making them documented.  One
module per new API feature/point release :-).
Bump version number to 0.3.0
Merge branch 'next' into 'master'

Conflicts:
	setup.py
Test existing behavior w.r.t. diff & filtered objects
Fix MultiFieldSelector stringification

Both of these methods had a bug.  Test that both the informal and the
source representation stringification methods behave.
MultiFieldSelector: allow traversing using dict indexing

Allow a MultiFieldSelector to be more easily passed down into a visitor
function by supporting __getattr__ and __contains__
identify: allow record_id to work on filtered objects

Allow record_id to be passed the MultiFieldSelector in effect for the
current object.  This allows a simple fallback to 'all extant properties'
if one or more of the primary key columns is filtered out by the selector.
Implement checking FieldSelector against MultiFieldSelector

This lets you check whether a given FieldSelector is included in the fields
that a MultiFieldSelector includes.
Allow diff to take a MultiFieldSelector to restrict compared fields

This new diff option has two effects on diff:

1. comparison of filtered fields is skipped (meaning you don't need to make
   a filtered object before comparison)

2. "primary key" object settings are invalidated if any of the primary key
   fields are filtered out.  This allows the code to fall back to comparing
   objects by value when comparing collections.
Bump version for release
Doc fixes

No extra docs for this release :-(
Fix list comprehension

How this even worked at all for the tests already is beyond my own
comprehension.
Bump version for fury release