Use optparse support for --version
Added -u for compatibility

As an example, svn defaults to adding `-u` to external diff tool
invocations.
Changed --numlines to --unified for compatibility

Most diff programs use --unified to specify number of lines of context,
so might as well align with the de-facto standard.
Add --label option

This new option allows labelling each of the files being diff'd with
arbitrary strings instead of just showing the file paths.

This also completes the basic funcionality to support using icdiff as an
external diff tool for svn.