Accept (function (function +)) as Lisp printer output for (function #'+)

(cherry picked from SLIME commit
dfcb18017fbc07070f02e985e1bf5d17c7d2c85d)

Conflicts:
	contrib/ChangeLog
	contrib/slynk-arglists.lisp
C-c C-k in xref works again.

* sly.el (sly-all-xrefs): Know when to stop iterating over
buffer lines.

(cherry picked from SLIME commit 35f5f4a2a913e96e093aee6fb3f9fb8c78f63cd9)

Conflicts:
	ChangeLog
	slime.el
Remove slime-next-line/not-add-newlines

(cherry picked from SLIME commit
52fe651504ce2f83948a6a54df6e8ddf085989b2)

Conflicts:
	ChangeLog
	doc/slime.texi
	slime.el
Regression test for slime-recompile-all-xrefs

(cherry picked from SLIME commits
e70d5584c1ba5905419f1fc0a734ec3053fbf291
3721c755b3dc3db8e618aeab79202532bd779aeb
and b3f37bb93954078acbc57d9f8e02799f1efe5d10
squashed together)

Conflicts:
	ChangeLog
	slime-tests.el
Fix and robustify Luis Oliveira's test
Avoid compiling a stale sly-path into sly.elc

... when upgrading SLY within an Emacs session, e.g. via MELPA.
(SLIME gh issue https://github.com/slime/slime/issues/125)

(cherry picked from SLIME commit
f8ab3d37fd337895e4ce942133ac2e5a78f7e489)

Conflicts:
	ChangeLog
	slime.el
Ensure contrib directory is pushed to load-path

... so that package.el succeeds in byte compiling the contribs.

* sly.el (sly--setup-contribs): Always push the contrib
directory to load-path, even if there aren't any contribs to load.

(cherry picked from SLIME commit
89b956156702605f5d64b26460faca7679799394)

Conflicts:
	ChangeLog
	slime.el
Restore workingness for Allegro's modern mode.

* slynk/backend/slynk-allegro.lisp (gray-package-name): Let the reader
decide whether the package name is in lower or upper case.

Fixes issue https://github.com/slime/slime/issues/209.
(cherry picked from commit b7a7a7860438f69c16e92aac485755e8eda94a25)

Conflicts:
	ChangeLog
slime-fuzzy: use `comint-filename-completion'

(cherry picked from SLIME commit
b0b3123c342e2364fbbd0bb70ba65fa137f378ae)

Conflicts:
	contrib/ChangeLog
	contrib/sly-fuzzy.el
Add port changing restart to setup-server

* slynk.lisp (socket-quest): New function.
(setup-server): Use it.

Cherry-picked a SLIME merge commit 3b020e3d29ad0195f3e85f75f6c52e3ba269227c
for https://github.com/slime/slime/issues/204

Conflicts:
	ChangeLog
	contrib/swank-repl.lisp
	slynk/slynk.lisp
Add doc about sly-fuzzy's duplicate symbol handling

* sly.texi (Fuzzy Completion): Add subsection "The Algorithm". New
subsection "Duplicate symbols".

(partially cherry picked from SLIME commit
a8b2a596da0c4de77a311c0711facbb2c072544d)

Conflicts:
	doc/slime.texi
Fix deletion of SLYNK packages in slynk-loader.lisp

(Reported by Ruben Vaz.)

* slynk-loader.lisp (list-slynk-packages): Catch more SLYNK
packages.
(string-starts-with): Refactored out from LIST-SLYNK-PACKAGES.
(delete-packages): New function capable of
deleting interdependent packages.
(init): Use it.

(cherry picked from SLIME commit
2543da7237cd117c93e5dc20b94c99934bc17b63)

Conflicts:
	ChangeLog
	slynk/slynk-loader.lisp
Robustify SLYNK-LOADER::DELETE-PACKAGES

(cherry picked from SLIME commit
b17dddbf2837d42499e5338658f4de69da6543ec)

Conflicts:
	ChangeLog
* slynk-fuzzy.lisp(make-fuzzy-matching): Simplify, no need to
define a wrapper function.

(cherry picked from SLIME commit
de7200be5b5932693261be59861de48e38fff267)

Conflicts:
	contrib/ChangeLog
slynk-loader.lisp (*architecture-features*): add armv5l, armv6l and armv7l

These architectures are reported by ecl (as result of uname) on appropriate
machines.
(cherry picked from commit 0db6c64ed7ef92e75cc4d5deb944426b7c681bba)

Conflicts:
	ChangeLog