Add Diff support

You can diff in both HTML and JSON, and diff both revisions of a tiddler
and any two spaces/tiddlers/revisions you like.

New URLs are, e.g.:

/spaces/:space_id/tiddlers/:tiddler_id/diff?old=:revision_id&new=:revision_id
  - Diff two revisions of the same tiddler directly.

/diff?old=:old_url&new=:new_url
  - Diff across space/tiddler boundaries. old_url and new_url can be
    either link to spaces, tiddlers or revisions but must link directly
    to id (i.e. no shortlinks) and both links must be of the same type
    (i.e. you can't compar a space to a tiddler, but can compare a
    tiddler to a revision of a tiddler)

The HTML view produces diffs using the Diffy library, which in turn uses
the diff command available natively.

The JSON view produces JSON Patch compatible output, so misses out on
showing full from and to character by character diff output, but should
be more useful in general as it should be a lot easier to use it to
apply changes from one tiddler to another.