Cleanup window-managing code

* slime.el
(slime-with-popup-buffer): redesign. Don't take :mode arg.
(slime-popup-restore-data): delete it
        (slime-make-popup-buffer): delete it
        (slime-init-popup-buffer): delete it
        (slime-display-popup-buffer): delete it
        (slime-close-popup-window): delete it
        (slime-save-local-variables): delete it.
(slime-popup-buffer-quit-function): delete it.
(slime-edit-value-callback): don't pass :mode to
slime-with-popup-buffer.
(slime-show-compilation-log): idem
(slime-edit-value-callback): idem
(slime-show-apropos): idem
(slime-create-macroexpansion-buffer): idem
(slime-list-threads): idem
(slime-list-connections): idem
(slime-inspector-buffer): idem
(sldb-setup): no seed to save window-variables.
(sldb-setup): just `pop-to-buffer'
(sldb-debugged-continuations): simplify
(slime-inspector-mode): No need to explicitly list maps in
docstring.
(slime-inspector-mode-map): Override q key using keymaps.

* contrib/slime-clipboard.el (slime-clipboard-display-entries): Don't pass
:mode to `slime-with-popup-buffer'.

* contrib/slime-compiler-notes-tree.el (slime-list-compiler-notes): idem

* contrib/slime-media.el (slime-dispatch-media-event): idem

* contrib/slime-sprof.el (slime-sprof-report): idem

* contrib/slime-trace-dialog.el (slime-trace-dialog--open-detail):
Simplify. Use `slime-with-popup-buffer'.
Mention tweaks to `slime-c-p-c' contrib in ChangeLog

* slime-editing-commands.el (slime-close-all-parens-in-sexp): Use
`delete-and-extract-region'. Remove byte-compilation warning.
Add edebug `destructure-case' and move some requires to run-time

* slime.el (cl-lib): `require' doesn't need
`eval-and-compile. Clarify `cl-lib' loading strategy.
Explain slime-repl requirement in  contrib/slime-trace-dialog.el