Record the source of configuration directives in the source-registry config

The source registry configuration is described by a bunch of forms in a DSL
that allows for inheritance. Before constructing the actual source
registry (mapping from primary system names to pathnames), the configuration
DSL is expanded into a list of directories to search and flattened.

Previously, the flattening process left no indication of *why* a particular
directory was being searched. We now record that information as a list of
locations, ordered from most specific to least specific. This list can contain
any of the following:

+ A symbol: The directive was generated by calling the symbol as a function
with zero arguments.

+ A directory pathname: The directive came from one of the files located in
this directory ending with .conf.

+ A file pathname: The directive came from the named file.

+ NIL: The directive came from a literal NIL (simplifies to just an inherit
directive).

+ :INHERIT: The directive resulted from inheriting configuration.

So a source list such as:
(#P"/home/USER/.config/common-lisp/source-registry.conf.d/"
 USER-SOURCE-REGISTRY-DIRECTORY :INHERIT
 USER-SOURCE-REGISTRY :INHERIT
 ENVIRONMENT-SOURCE-REGISTRY :INHERIT
 NIL :INHERIT
 WRAPPING-SOURCE-REGISTRY)

Should be interpretted as: The specified search directory is being searched
because it was named in one of the files
/home/USER/.config/common-lisp/source-registry.conf.d/*.conf, which was
searched as part of the user's source registry directory, which was included
because the user's source registry conf file was empty or included a
:inherit-configuration directive, which was included because CL_SOURCE_REGISTRY
was parsed to something that contained a :inherit-configuration directive,
which was included because the user did not manually specify a configuration to
use, which was then included by the wrappign source registry which can never be
overridden.
7 jobs for !156 with record-source-of-source-registry-config in 35 minutes and 53 seconds (queued for 1 second)
latest detached
Status Name Job ID Coverage
  Build
passed Build ASDF #8348

00:02:26

passed Build docs #8349

00:04:34

 
  Regression
passed ABCL 1.7.1 regression tests #8351

00:33:26

failed ABCL regression tests #8350
allowed to fail

00:30:36

passed CCL regression tests #8352

00:06:04

passed ECL regression tests #8353

00:07:16

passed SBCL regression tests #8354

00:05:14

 
Name Stage Failure
failed
ABCL regression tests Regression
No job log