(PUP-1678) List environment settings instead of modules

In talking with consumers of the environment information it turns out
that listing the modules isn't the desired feature. Instead they really
want the settings of the environment (modulepath, manifest). Other
settings may be added later.

This has the added benefit that listing the environments is now a much
cheaper operations since it doesn't need to load the module data.
(PUP-1678) Provide valid, standard source URIs

The URIs that were used before for the source information were
completely made up. The schema wasn't registered and the path elements
didn't mean much. This replaces it with a scheme where the directory
environments are identified by a file URI that points to the directory,
the legacy environments are identified by a file URI that points to the
puppet configuration file, and any static environments are identified by
a data URI with the content of "internal".
Merge pull request #2375 from zaphod42/feature/master/pup-1678-only-send-environment-settings

(PUP-1678) List environment settings instead of modules