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
diffJson: Assume already stringified JSON when receiving a string.
Added a diffJson test with a nested array to gain more coverage of canonicalize.
Put Object.prototype.toString into a var to avoid creating an empty object each time it's used.
Document the useLongestToken property.
diffJson: Test that a circular reference causes JSON.stringify to throw (rather than an infinite loop).
canonicalize: Keep track of the replacement objects so the correct object can be substituted when a circular reference is detected.
Merge branch 'diffJson' of github.com:papandreou/jsdiff into papandreou-diffJson

Conflicts:
	diff.js