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
It checks that the item being canonicalized is not already on the stack (ie. that it's working on a circular structure). This avoids infinite recursion, and it's safe to bail out because that object will canonicalized eventually.