(#21749) Make attributes readable on Puppet::ModuleTool::Dependency

Make it possible to read the attributes of these objects
without turning them to PSON and parsing that back again.
(#11133) If a node definition uses a regex, make its capture variables available in the node's scope
(maint) Checks in a pair of useful dev tools

These are two scripts (not mine) which have been floating around, which
have proved useful for setting up a local puppet-master daemon for
testing, and for bisecting spec order failures.

I don't know that util is the best subdirectory for them to live in.
(maint) Clarify comments and link to puppet-master issue
(doc) Notes on curl with dev-puppet-master script

And a change to dev-puppet-master to automatically copy auth.conf if not
already present.
Merge pull request #1784 from nhemingway/bug_11133_node_regex_captures

(#11133) If a node definition uses a regex, make its capture variables a...
Merge pull request #1767 from dalen/moduletool_dependency_attrs

(#21749) Make attributes readable on Puppet::ModuleTool::Dependency
(#21947) Add missing error message for ILLEGAL_NAME

The faulty behavior was triggered by interpolation of an illegal name.
e.g. "Contains $CONTRABAND".
Merge pull request #1804 from hlindberg/issues/issue-21947

(#21947) Add missing error message for ILLEGAL_NAME
Merge pull request #1788 from jpartlow/feature/master/utility-scripts

(maint) Checks in a pair of useful dev tools
(#18508) Specify the order of resources in the catalog

This adds a specification to the order in which resources appear in the
catalog. They must appear in the order in which they are added to the
catalog.

In order to make this kind of assertion easier this commit also brings
in Ramcrest.
(#18508) Preserve order of insertion for resources

The order that resources are added into the catalog is needed in order
to ensure a less surprising order when applying resources on the agent.
This ensures that the order that resources are transmitted to the agent
preserves that insertion order.
(Maint) Remove unneeded array code in type

Iteration across an array with only one element isn't needed. Just
flatten it out and make it simpler.
(Maint) Remove unnecessary alias in Component.new

From our understanding, any resource alias should already exist at this point.
(#18508) Preserve order while translating catalog

The catalog is translated in several different places into several
different forms. Each one of these transformations needs to preserve the
order of the resources that they contain.
(#18508) Assert kinds of resources sent to agent

This adds assertions that the virtual resources are not sent to the
agent, and neither are exported resources.
(Maint) Rename catalog integration spec

The catalog integration spec was originally intended as just to be about
the order in which some elements appeared in it, but it has evolved to
be about the general invariants and properties of the catalog as it is
transmitted between the master and the agent.
(Maint) Remove some unneeded complexity

The compiler held onto an attribute that it didn't need
(@exported_resources) and some of the failure checking used
constructions that were a little more complicated than needed.