(pup-1732) Report only services from systemd

Prior to this change the systemd service provider would return
all systemd-managed types (including sockets, devices, swap, etc).
This produced a huge list of instances, many of which were not
in fact services.

This change simply adds the '--type service' option to the
'systemctl' invocation in .instances. It also updates the
spec tests with fixtures for the old (without that option)
and new (with that option) way of invoking 'systemctl'.

I purposefully did not touch the existing fixture which is
tied to a test which is pending on a what-to-do about failed
services. If/when we tackle that, we may want to collapse
some of these fixtures.
(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".
(maint) Update README.md for support clarification

This commit gives our README.md a little bit of love:

- adds verbiage about support lifecycle
- moves HTTP API docs up near the rest of the docs
- updates the link to the ticket tracker now that we're on JIRA
(maint) Add to_data_hash on Puppet::SSL::Base

Without this to_pson fails on for example Puppet::SSL::Certificate. This
caused a failure in for example the ca face when rendering a
certificate.
Merge pull request #2374 from dalen/to_pson_fix

(maint) Add to_data_hash on Puppet::SSL::Base
(PUP-1676) Allow main as a directory environment.

Looking again at the settings code, the static sections in puppet.conf
currently shadow a directory environment of the same name, because we
check the configuration file first.  But I'm not seeing any reason to
specifically forbid main as a directory environment name.  Once static
environments are removed, we will need to address how to obtain
puppet.conf [main] settings without shadowing directory environments.
Merge pull request #2376 from jpartlow/issue/master/pup-1676-allow-main-as-direnv

(PUP-1676) Allow main as a directory environment.
(DOC) Environments route is v2.0 not v2

Change the api docs for the environments end point to correctly specify
v2.0 rather than v2.
Merge branch 'maint/master/api-docs-environment-v2'
Merge pull request #2375 from zaphod42/feature/master/pup-1678-only-send-environment-settings

(PUP-1678) List environment settings instead of modules
(maint) Remove stale comment about shortened list in http_environments
Fix trailing whitespace, add EOL clarification
Wording tweaks from review feedback
Merge pull request #2316 from ahpook/clean-master

(maint) Update README.md for support clarification
(pup-1732) Remove the fixture and stub for what *not* to do
(maint) Remove a pending test which isn't pending on anything planned or asked for
(maint) Revert to installing facter.git#stable if testing from github
Merge pull request #2379 from kylog/maint/revert-to-installing-facter-stable-if-testing-from-github

(maint) Revert to installing facter.git#stable if testing from github
(maint) Broaden managehome acceptance test on windows 2003

The previous regex only captured older facter operatingsystemrelease
values.  Now we're also sensistive to facter-2 operatingsystemrelease
output.