Polish up some styling in the diff viewer.

First, the text above the diff index is aligned. There's now a
consistent margin for that whole section, meaning none of the contents
will stick out of the bounds.

The loading spinner and icons in the index now take up the same amount
of space, preventing little jumps when loading items.

The selection border for chunks and diff headers is once again properly
aligned. This broke when shadows were put back on the diff boxes.

Deleted files, binary files, and unchanged files now have slightly nicer
styles. The text contents ("This file has been deleted," for example)
are no longer bunched up against the sides. There's now some padding,
leaving breathing room.

In the case of deleted files, the background is now reddish (same as the
removed lines in standard diffs), instead of blue.

In the case of unchanged files, the background is white.

In the case of whitespace-only changes, the background is that of
replaced lines.

And finally, the errors are a little nicer. There's an error icon, a
nicer header, and some helpful text after the error saying how to
contact support. The traceback, if any, now has a border and white
background.