Add basic colorizer for diff

This will probbaly break when using custom format options, but it works
decently well for normal, context, and unified patches; side-by-side is
not supported.
Rework diff colorizer to detect output format

Also add colors for side-by-side mode. (Tested with GNU Diff 3.3 on
Arch Linux)