Add category methods to convert objects to JSON to be valid for JSON writing, in plist-to-json.

Fixes failure if plist contains dates or data. These entries are ignored.
Add JSON support to diff.

Pass it two files to diff, whether they are property lists or JSON.
Do not use NSUserDefaults to apply patches.

This reverts 09b3acf.
Diff was broken.
NSUserDefaults does not work correctly with sandboxed applications (it does not write into the sandbox). Writing the files directly does not alway work either.