Add file linkify, definition, and help features:

- When *racket* buffer output includes text describing a file and
  location, the text is automatically "linkified" -- turned into an
  Emacs button. When clicked, the button opens the file at the
  position. Examples of such text include:
    - Racket error messages
    - rackunit failure location messages
    - prints of #<path> objects
    - output from the `racket-find-definition` command (see below)

- The command `racket-press-last-button` (C-c C-l) clicks the
  last button in the *racket* buffer, with the action taking place in
  the current window. (So you don't have to mouse over and click it.)

- `racket-find-definition` (C-c C-d) tries to find the definition of the
   symbol at point (or with a prefix, C-u C-c C-d, as prompted). If
   found emits the file/location and function signature to the *racket*
   buffer. Then can use `racket-press-last-button` (C-c C-l) to go
   there.

- racket-help (C-c C-h) uses `racket/help` to find the symbol at
  point (or with a prefix, C-u C-c C-h, as prompted). If found, a
  web browser opens.

- Errors are now displayed with context ("stack") information, and each
  file location in the "stack" is a navigable button (in case you want
  to jump to that location). The context is displayed in "reverse" order
  and the immediate error location is last, at the bottom. This is
  easier to parse visually, IMHO. Furthermore, it makes it work well
  with C-c C-l, because the immediate error will be the last button.