PrettyJSONSerializer

The default JSON serializer's output is hard to inspect and compare using non-JSON-aware tools, such as `git diff`. I've added `PrettyJSONSerializer` (named `prettyjson`) which outputs prettified key-sorted JSON.

I didn't add tests for the serialization because `JSONSerializer` doesn't seem to have any and I'm not sure how best to construct suitable data to round-trip through the serializer. I'm happy to add some for both `JSONSerializer` and `PrettyJSONSerializer` if you can suggest how to do that.

I also didn't update the documentation because I didn't see an obvious place to mention the new serializer. If you can point me at where that should be, I'm happy to do so.