(#17183) Pass on parameters to recursive children in static_compiler

Pass on parameters from the top level resource to recursive children in
the static compiler.
The list of parameters to exclude is taken from the file type
implementation.
Propagate client noop value as a fact

This fixes: http://projects.puppetlabs.com/issues/6847

(which is also a workaround for: projects.puppetlabs.com/issues/20679)
(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
(maint) Clean up comments for Resource::Type
(#21881) Add YARD docs for the format used by Puppet::Resource::Type
(#21881) Validate ResourceType against a json schema in tests
(#21881) Add documentation for Puppet::Indirection::ResourceType::Parser

This clarifies the use of this indirection somewhat and conforms better to
YARD syntax.
(doc) Add other markdown files to YARD
(#21881) Add API docs to YARD

This adds an api_docs directory with static markdown files which get included
in YARD output. The first thing documented is the resource_type http endpoint.
(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.
(#21881) Add error responses to resource_type http api

Adds responses seen for general cases of bad request or resource not
found when using the http api for resource_type.
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.