Implemented diffJson

It takes two objects, serializes them as canonical JSON, then does a line-based diff that ignores differences in trailing commas.

See discussion here: https://github.com/visionmedia/mocha/pull/1182
1. Sure, in d786a63 I added an implicit test that makes sure `canonicalize` doesn't result in an infinite loop by checking that JSON.stringify.
2. Hmm, I you're right. It's a bit of a moot point as circular references will cause `JSON.stringify` to error out immediately after, but looking at `canonicalize` isolated I agree that it's the wrong behavior. Will try to find a fix for that.