More uniform interface for fetching and replaying stickers

* contrib/sly-stickers.el (sly-stickers--zombie-sticker-ids): New variable.
(sly-stickers--kill-zombies): New helper.
(sly-stickers--process-recording-description): New helper.
(sly-stickers-fetch-and-replay)
(sly-stickers-fetch-all-and-forget): Use new helpers

* contrib/slynk-stickers.lisp (describe-sticker-for-emacs): New function.
(visit-next, fetch): Use it.
Support for inspecting and returning sticker recordings

Still a little bit drafty, but working.

* contrib/sly-mrepl.el (sly-mrepl): Implement M-RET for `sly-sticker-sticker' buttons.
(sly-stickers-copy-last-recording-to-repl): New function.

* contrib/sly-stickers.el (sly-stickers-sticker): Renamed from
`sly-sticker--sticker' button type.
(sly-stickers--sticker, sly-stickers--arm-sticker): `part-args'
prop for `sly-sticker-sticker' is now a 2-element list.
(sly-stickers--disarm-sticker): Prop
`sly-stickers--most-recent-description' is renamed
`sly-stickers--last-known-recording'.
(sly-stickers--populate-sticker): Redesign. Take sticker, total
recordings, and a recording description.
(sly-stickers--process-sticker-description): Renamed from
`sly-stickers--process-recording-description'.
(sly-stickers-fetch-and-replay): Use
`sly-stickers--process-sticker-description'. Don't offer to forget
stickers.
(sly-stickers-fetch-all-and-forget): Fetch, don't forget,
stickers.

* contrib/slynk-stickers.lisp (:slynk-stickers): Export new slyfuns.
(initialize-instance): Remember recordings in new
(recording-description-string): Renamed from DESCRIBE-RECORDING.
(print-object): Use RECORDING-DESCRIPTION-STRING.
(sticker): NEW-RECORDINGS slots renamed RECORDINGS.
(print-object): Use RECORDINGS slot.
(*recordings-by-id*): New special variable.
(describe-recording-for-emacs): New helper.
(describe-sticker-for-emacs): Use DESCRIBE-RECORDING-FOR-EMACS.
(fetch-and-forget): Deleted slyfun.
(forget): Use RECORDINGS slot. Clear *RECORDINGS-BY-ID*.
(find-recording-or-lose): New slyfun.
(inspect-sticker): Renamed from INSPECT-STICKER-VALUES.
(inspect-sticker-recording): New slyfun.

* lib/sly-buttons.el (sly-button-define-part-action): Allow passing `key' argument as nil.