swank-loader and ASDF methods behave similarly for contribs

Removed all references to contribs in swank-loader.lisp, they are now
loaded on demand both in the ASDF and swank-loader.lisp methods.

To make this work, loading a contrib from a file (.el or .elc) now
presets a `contrib--path' variable with the full pathname to it. The
contrib's `contrib-init' function will push this onto
`slime-required-modules', and `slime-load-contribs' will use a new
SWANK:SWANK-ADD-LOAD-PATHS slimefun to ensure that dir is in Swank's
load-path before attempting to SWANK:SWANK-REQUIRE the Swank
dependency module.

Once the module-loading request reaches Swank, both methods do their
stuff differently. ASDF needed no tweaking and uses *CENTRAL-REGISTRY*
as it's load path, while swank-loader.lisp was somewhat simplified.

* slime.el (slime-required-modules): Now an alist.
(slime--setup-contribs): Use `assq' for new
`slime-required-modules' format.
(slime-require): Delete it.
(slime-load-contribs): Use new `slime-required-modules'
format. Call new SWANK:SWANK-ADD-LOAD-PATHS slimefun.
(define-slime-contrib): Make the enable-function also add the
contrib's path to `slime-required-modules'.

* swank-loader.lisp (:swank-loader): Export *LOAD-PATH*.
(*contribs*, append-dir, contrib-dir, compile-contribs): Delete.
(load-swank): Don't set *LOAD-PATH* here.
(loadup, setup, init): Don't mess with contribs here.
(module-canditates): Delete.
(require-module): Redesigned to compile&load modules on demand.
(module-binary-dir): New auxiliary function.

* swank.lisp (*require-module*): Delete.
(*module-loading-method*): New variable.
(require-module, add-to-load-path): New generic functions with
:ASDF and :SWANK-LOADER implementations.
(swank-require): Call the REQUIRE-MODULE generic.
(swank-add-load-paths): New slimefun, calls ADD-TO-LOAD-PATH generic.

* slime-tests.el (slime-test-check-repl-forms): Use new form of
`slime-required-modules'
(swank-loader-fallback): Simplify this test, it
just tests `slime-init-using-asdf', doesn't attempt to destroy
ASDF in the lisp and then test the automated fallback.