Error display: check for exn:srclocs?

As mentioned by Eric Dobson on the Racket dev mailing list, and taking
Matthew Flatt's advice about special-casing certain exns that include
the first of the srclocs in the exn-message.

Racket's default error-display-handler doesn't do this (as of 6.0). For
example the error message for `(match 2)` won't show the source
location. As of this commit, our error-display-handler will show it.

Also, I discovered that my `srcloc-string` is a re-implementation of
Racket's `source-location->string`; just use that.