Move the 'extraneous' selection into a DiffOptions method

The main use case for this is a diff where some extraneous properties
should not be compared, but some should.  ie: 'unknown_json_keys' are
extraneous by default, but you might want to know that the diff mechanism
will always compare them without the other side effects of treating them as
regular properties (eg, including them on serialization out).  'extraneous'
is quite a large switch, really: and this helps make it more fine-grained.
Licensing, Changelog and other release engineering for PyPI release
Remove embarrassing note from intro

This was implemented in 0.2
Fix bad example on intro

There's actually a bug here, which was fixed in 0.3.  Add a test to prove
that it works.
Complete normalize.selector documentation
More work on the 'diff' documentation

Looks like I already went over this once.  Visitor can be next release :-)
Misc. documentation updates

Some internal diff functions (essentially architecture documentation), also
make Record reference docs appear again.
[WIP] visitor changes leading towards input

It should be possible to run a visitor in an alternate mode, and/or
sub-class a visitor to enable it to walk data structures and return
instances, rather than walking instances and returning data structures.
As a start towards the changes necessary for this, document the code and
eke out a couple of corner cases.  Tests still required, but this is a lot
closer to where it needs to be to support generic ingress.
Update sphinx docs to commit 0.4.3-7-ge594cff