support diffing for svn

 * Changed `--version` to use the optparse builtin support for it;
 * Changed `--numlines` to `--unified` because most diff tools use the latter for
   specifing number of context lines;
 * Added `-u` and `-L` to support svn calls to external diff tools.

The `-u` is a dummy option; it's there so that option parsing
doesn't choke whenever it is used. This is compatible with svn
and git.

Squash-merge of pharaujo's work in #28.