Get rid of some uses of when-let

It conflicts with a definition subr-x.el

(cherry picked from SLIME commit
0b2582673deadaf8c5bb247ddd07d863df1fafb6)

Conflicts:
	ChangeLog
	contrib/slime-enclosing-context.el
	contrib/slime-package-fu.el
	contrib/slime-references.el
	contrib/slime-repl.el
	contrib/sly-fontifying-fu.el
	lib/sly-tests.el
	slime.el
Fix `when-let' usage with new `sly--when-let'

* sly.el (sly--when-let): Renamed from `when-let'.

* contrib/sly-mrepl.el (sly-mrepl--insert-prompt)
(sly-mrepl--open-dedicated-stream): Use `sly--when-let'

* contrib/sly-package-fu.el (sly-goto-package-source-definition): Use
`sly--when-let'
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.

(cherry picked from SLIME commit
1e02a77d3db54f492ec20ccfb5b186d07133681e)

Conflicts:
	ChangeLog
	lib/lisp/backend/swank-abcl.lisp
	lib/lisp/backend/swank-allegro.lisp
	lib/lisp/backend/swank-clisp.lisp
	lib/lisp/backend/swank-lispworks.lisp
	lib/lisp/backend/swank-sbcl.lisp
	lib/lisp/swank-backend.lisp