Closes #103. Loading contribs does not require slime-tests or ERT.

Tests are stored separately.

* Makefile (contrib-check-% check-%): Restore the check-<contrib>
target.
* .travis.yml (env): Use it.

* slime-tests.el (defun): Adapt to new contrib-tests location.
(readme-recipe, traditional-recipe): Don't use ert macros in
recipe tests, since ert might not be loaded.

* slime.el (slime-contrib-dependencies): New function.

* contrib/Makefile: Fix whitespace.
(check-%): Look for tests under /contrib/tests. Explicitly require
all needed test libs.

* contrib/inferior-slime.el: cleanup whitespace.

* contrib/slime-repl.el: Split off tests. Don't use `eval-and-compile'
* contrib/slime-presentations.el: Idem.
* contrib/slime-parse.el: Idem.
* contrib/slime-mdot-fu.el: Idem.
* contrib/slime-fontifying-fu.el: Idem.
* contrib/slime-enclosing-context.el: Idem.
* contrib/slime-c-p-c.el: Idem.
* contrib/slime-autodoc.el: Idem.

* test/slime-presentations-tests.el: New file.
* contrib/test/slime-parse-tests.el: New file.
* contrib/test/slime-mdot-fu-tests.el: New file.
* contrib/test/slime-fontifying-fu-tests.el: New file.
* contrib/test/slime-enclosing-context-tests.el: New file.
* contrib/test/slime-c-p-c-tests.el: New file.
* contrib/test/slime-autodoc-tests.el: New file.
Fix: inspector uses the same thread and package that was used to invoke it (e.g. for svuc customizations depending on a transaction).
Revert parts of "* swank-loader.lisp: ASDF free again. And proud of it!"
Revert "* swank-backend.lisp (label-value-line): Remove display-nil-value."

This reverts commit fc4e2e19612e7e63237554b59d30bf3903d05184.
Smarter sldb fame details when there's nothing to display
Fix: source-path-parser honours the readtables specified in swank:*readtable-alist*
Added default values for the sldb faces
Make the key bindings for slime-quit-connection-at-point and slime-restart-connection-at-point safer. Map disconnect to 'k'.
Line up frame locals in the same column in SLDB.
Smarter slime-read-from-minibuffer: supports history and keymap.
Pad restart descriptions to start at the same column in SLDB.
Order restarts in SLDB so that restarts earlier on the binding stack have smaller (therefore more stable) numbered key bindings assigned to them.
Display the current package at various minibuffer prompts.
Lower the score of fuzzy matches towards the end except for exact matches at the very end.
Always jump to the prompt when navigating the repl history.
SLDB is smarter in pruning swank frames.
Make slime-editing-map key bindings available when Slime is reading from the minibuffer.
Support an &key length-limit in to-string.
Smarter repl history navigation.

- M-r/M-s (or what slime-repl-previous/next-matching-input is bound to) can be used similar to C-s: when pressed multiple times then jumps to the next match with the same regexp

- minibuffer reading of regexp search has its own history, and defaults to the previous input

- pressing M-r while reading the regexp in the minibuffer initiates searching with the previous regexp (like isearch)

- only the sending of the repl input resets the index of navigation history

- drop the feature that the typed-in text at the repl is used as initial history search regexp (the new input method is much more flexible)

- while navigating, display in the minibuffer which repl history index we are at, and what regexp is used for filtering currently

- when reaching the most recent end of the history, then clear the repl input
slime-selector can receive the input key as an argument for using from custom key bindings.