Adding dedicated Show instances for SrcSpan/SrcLoc

Summary:
The derived Show instances for SrcSpan and SrcLoc are very verbose.

This patch replaces them with hand-made ones which use positional
syntax for the record constructors, rather than exhaustively listing
each one.

Test Plan: sh ./validate

Reviewers: austin

Subscribers: thomie, carter

Differential Revision: https://phabricator.haskell.org/D445
Merge remote-tracking branch 'alanz/wip/show-srcspan' into wip/show-srcspan