Add functions for eval with redirected output.
Fix contracts.
Change racket-find-definition to use racket--eval/sexpr.

Instead of printing the source location and the user needs to use
find-next-error, take the user directly to the source (if found).
More work on racket-find-definition.

Fix bug with current buffer.

Add a location stack, so people can "pop" to where they were before
following a definition.

M-. and M-, key bindings, like Geiser.
Fix find-definition to return srcloc in all cases.

1. `definition-in-stx`: For a define-values or define-syntaxes form, use
identifier's stx (which came from the original source and will have its
srcloc) not the overall define-x.

2. `find-x`: As a backup, in case the syntax still has no srcloc, use
the source path we already know, and line 1 for the position within it.
i.e. At least it will return the defining file, if not the position.
racket--loc-stack needs to be defvar
Use cl-lib not cl
GUI macro stepper (experimental).
Format Racket code using %S s-expression.
Support completion-at-point and company-mode (WIP).

Although I'm not happy with the speed I'm committing on topic branch as
a check-point.
Make completion faster.

- Fix bug with `racket--complete-prefix-end`.
- Cache the namespace symbols, invalidating on each racket-run.
Add makefile. Clean byte compile.

In the process of which, split out more code from racket-mode.el to
individual files. Could use a bit more of that; meanwhile, interim
commit.
Update README.

- Describe the completion and find-definition features.
- Fix various typos.
- Other prose edits.
Various README edits
Add .travis.yml
Fix find-provision and make unit tests pass again.
Add tests to makefile.

Also tweak travis.yml to put Racket executables in PATH.
Temporarily relax test failing only on 6.0
Set up ert testing.

For now, just one test to confirm basic REPL functionality.
Fix issue with Racket 6.0.