Closes #183: Don't delete prompt when clearing REPL output

* slime-repl.el (slime-repl-input-line-beginning-position): Use
`inhibit-field-text-motion'.
Closes #182: Remove problematic `defun*' in contrib/slime-fuzzy.el

* slime-fuzzy.el (slime-fuzzy-complete-symbol): Use `cl-defun` not `defun*`
SBCL's reader changed recently. Fix some issues caused by that.

* swank-source-path-parser.lisp (make-source-recording-readtable):
Wrap the sharp-dot "#." reader before wrapping the dispatch macro
"#" because with the new reader get-dispatch-macro-character
doesn't work if "#" is wrapped first.  Suggested by Paulo Madeira.
(skip-whitespace): New helper.
(read-source-form): Use it.  Skipping over whitespace is a slight
improvement and seems fairly conservative.
* slime-tests.el ([test] find-definition.2-2): New test.
Fix tests for `slime-parse'

* contrib/test/slime-parse-tests.el (form-up-to-point.1): Remove spurious
"e" characters that were apparently the cause of the test failures.
Closes #185: Always activate slime-autodoc/eldoc hack

* slime-autodoc.el (eldoc-display-message-no-interference-p):
Always activate advice.
Allow partially visible lines when scrolling.

[github issue #186]

* slime.el (slime--adjust-window-start)
(slime--adjust-window-point): Relax the assertion to allow
partially vsible lines.
Factor out the backquote test.

* slime-tests.el (slime-test--compile-defun): New helper.
([test] compile-defun, compile-defun-with-reader-conditionals):
Use it.
([test] compile-defun-with-backquote): New.
Don't mark compile-defun-with-backquote as "expected failure".

Travis uses an older version that happens to work.
Use plain rather than typographical quotes in the PDF manual

Fixes issue #163.
Get rid of when-let as it conflicts with a definition subr-x.el

* slime.el (when-let): Deleted. Update all uses accordingly.
Fix last commit.
Use one package per backend to make interfaces more explicit.

* swank-abcl.lisp, swank-allergo.lisp, swank-ccl.lisp,
swank-clisp.lisp, swank-ecl.lisp, swank-lispworks,
swank-sbcl.lisp, swank-scl.lisp, swank-source-file-cache.lisp,
swank-source-path-parser.lisp: Use packages.
* swank-backend.lisp: Export some more stuff.
Clear all tests out at the beginning.

* slime-tests.el (slime-tests--undefine-all): New function.
* Makefile (compile-swank, run-swank): New targets.

(clean-fasls): Also remove ~/.slime/fasl/.
* Makefile (compile-swank, run-swank): New targets.

(clean-fasls): Also remove ~/.slime/fasl/.
Fix swank-sbcl.lisp.
* swank-cmucl.lisp, swank-scl.lisp (*source-snippet-size*): Remove
  redundant definitions.
Changelog entry for last commit.
Replace cl-values with list because that's shorter.

* slime.el (slime-group-and-sort-notes,
(slime-insert-compilation-log)
(slime-goto-next-xref): Use list.
Use a separate package for swank-gray.lisp.

Use gray streams also for CMUCL, SCL, and ABCL.

* swank-backend.lisp (gray-package-name): New interface function.
(import-from): Deleted. No longer used.
(*gray-stream-symbols*): Moved to swank-gray.lisp.
* swank-abcl.lisp, swank-cmucl.lisp, swank-scl.lisp
(gray-package-name): Implemented and delete old implementations of
make-input-stream and make-output-stream.
* swank-allegro.lisp, swank-ccl.lisp, swank-clisp, swank-ecl.lisp,
swan-lispworks.lisp, swank-sbcl.lisp,  (gray-package-name):
Implemented.
* swank-gray.lisp: Make and use swank-gray package for this file.
* swank-loader.lisp (*sysdep-files*): Load swank-gray for CMUCL,
SCL, and ABCL.