fixes to website monitoring at midnight
Merge branch 'master' of http://github.com/ecprice/newsdiffs
Merge branch 'master' of http://github.com/ecprice/newsdiffs
added a | to diffview
Merge branch 'master' of http://github.com/ecprice/newsdiffs
added the link to the url
Merge branch 'master' of http://github.com/ecprice/newsdiffs
Fix a typo and an old link, reported on zephyr
Merge branch 'master' of http://github.com/ecprice/newsdiffs
ripped scraper.py apart for a www.tagesschau.de parser

Discussed-at: https://github.com/ecprice/newsdiffs/pull/4
Edited-by: Greg Price <price@mit.edu>
(took TagesschauArticle, not yet other changes;
 moved descendants from toplevel to class)
Add a license, belatedly
Properly hook up scraper as Django command

Discussed-at: https://github.com/ecprice/newsdiffs/pull/4
Based-on-patch-by: payload <payload@lavabit.com>
Unify different Django-command implementations in scraper

Actually we already had (even before the last commit) a Django
command in scraper.py -- just (a) it didn't do anything without
arguments and didn't print help either, and (b) we also had an
"if __name__ == __main__" block which was disused.

Unify the two implementations into one which is more discoverable.
Scrap disused duplicate code, update README
More README fixes
Start using South so we can update the DB schema sanely (I hope)

NB, this requires two steps to get South up to speed after the code
is deployed:
  python website/manage.py syncdb
  python website/manage.py migrate frontend --fake
Add a diff_json/diff_info field on versions
Purge mergely

google-diff-match-patch is much better.

NB that despite the clueless labelling in the files themselves,
Mergely is actually open source.  The root of the upstream
distribution has a file LICENSE.html, which links to
http://www.mergely.com/license.php, which begins:

  All Mergely code is Copyright 2011 by Jamie Peabody. Mergely is
  distributed under the GPL, LGPL and MPL open source licenses.

So we took it under the LGPL.
Import diff-match-patch version 20120106, the Python version
Tweak diff algorithm to more eagerly absorb small equalities

This means that if e.g. a one-character change is separated by
a two- or three-character equality from a large change, they will
all be combined; which is especially helpful when it cascades to
join two large changes which were separated by multiple small
equalities and smaller changes.

(This is a sort of cherry-pick onto the Python diff-match-patch
of commit bdab645's change to the Javascript implementation.)