From Dave Abrahams <dave@boostpro.com>.
gnus-registry.el (gnus-registry-enabled): Add new variable.
(gnus-registry-install-shortcuts): Set `gnus-registry-install' to 'ask only while we need to find out if it should be t or nil.
(gnus-registry-initialize): Don't set `gnus-registry-install' to t.
(gnus-registry-install-hooks): Set `gnus-registry-enabled' to t when the registry is installed. Set it to nil when it's unloaded.
(gnus-registry-install-p): Provide user guidance for the initial value of `gnus-registry-install' when it's 'ask, otherwise return its value.
nnregistry.el (nnregistry-open-server, nnregistry-server-opened): Use `gnus-registry-enabled' instead of `gnus-registry-install'.
nnmairix.el (nnmairix-determine-original-group-from-registry): Use `gnus-registry-enabled' instead of `gnus-registry-install'.
nnir.el (nnir-mode): Use `gnus-registry-enabled' instead of `gnus-registry-install'.
gnus-registry.el (gnus-registry-fixup-registry): New function to fixup the parameters that can be customized by the user between save/read cycles.
(gnus-registry-read): Use it.
(gnus-registry-make-db): Use it.
(gnus-registry-spool-action, gnus-registry-handle-action): Fix messaging.
(gnus-registry--split-fancy-with-parent-internal): Fix loop. Map references to actual group names with sender and subject tracking.
(gnus-registry-post-process-groups): Use `cond' for better messaging.
(gnus-registry-usage-test): Add subject lookup test.
registry.el (registry-db, initialize-instance): Set up constructor instead of :initform arguments for the sake of older Emacsen.
(registry-lookup-breaks-before-lexbind): New method to demonstrate pre-lexbind merge bug.
(registry-usage-test): Use it.
(initialize-instance, registry-db): Move the non-function initforms back to the class definition.
registry.el: New library to manage gnus-registry-style data.
gnus-registry.el: Use it (major rewrite).
nnregistry.el: Use it.
spam.el: Use it.