Change diff output to that of `diff -u` or `git diff`

Change diff output to unidiff format.
This format is the output of `diff -u`, with a two-line header, hunk
headers with ranges, and context lines. It's also the format used by
`patch` and `git diff`, so it should be more useful and familiar to
programmers.
Headers are "a/pkgname/PKGBUILD" and "b/pkgname/PKGBUILD".

Sample (real output is colored):

```
--- a/test/PKGBUILD
+++ b/test/PKGBUILD
@@ -1,6 +1,5 @@
-one
 two
-tree
+three
 four
 five
 six
@@ -8,3 +7,4 @@
 eight
 nine
 ten
+eleven
```

It's also a bit more verbose. You could always reduce the number of context lines.