Fix memory leak when an error occurs encoding dict items

This is commit e8c7018ba06ef6a5709b6242684bd06d9964904e in upstream
simplejson, by Keith Bussell.
Overhaul of load() and dump() signatures

Apply the DRY principle, declaring the default settings for JSONEncoder
and JSONDecoder just once instead of in six places.

This is a more radical solution to #106 alike bugs.
Move examples to module documentation and drop Sphinx repetition
Mention rejected pull request
Ignore Py3 cache and generated MANIFEST
Update CHANGES.rst
Release 0.5