Refactor colored patch printing
Implement a dual-colored mode

With --dual-color, uses the user's color config to highlight the
"patch part", and the inverse of that to highlight the "interdiff
part" (i.e. the first column).

Needs some playing around with to see what the best setting is and
whether we should make it the default.