(#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.
(maint) make SRV record lookup more generic
(#21409) Preserve original error when propogating

Previously the original error was lost when some of the error handling
routines dealt with it (such as Puppet::Util.exceptwrap). This allows
the original error to be propogated out along with it.
(#21409) Ensure that create_resources acts the same as a resource decl

The previous implementation of create_resources duplicated most of the
logic of Puppet::Parser::AST::Resource, but had variations which meant
that it didn't actually behave the same. This lead to the possibility
that what should have been equivalent statements in the language did not
always result in the same catalog. This re-implements create_resources
to construct the AST that is needed to create the requested resources
and evaluate the resulting structure. This should only be able to
differ from actual resource declarations in the language if the
constructed AST is wrong.
(#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.
(#21785) Module tool should include path part of URI

The module tool ignored the path part of the URI when specifying a
custom module_repository setting.

Example:
puppet module install foo-bar --module_repository=‘http://forge.example.com/forge’

fetched http://forge.example.com/api/v1/releases.json?module=foo/bar
instead of
http://forge.example.com/forge/api/v1/releases.json?module=foo/bar

Same issue when it tries to fetch the file itself.
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)
(#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.
(#21831) Ensure SecureRandom.uuid is available

Background:
Ruby's stdlib includes SecureRandom.  As of 1.9.3 SecureRandom
includes a uuid method, which is essentially a convenience
wrapper around the base random number generation.  1.8.7 did not
provide the uuid method.

Changes:
- Monkey patch SecureRandom to add the uuid method if it's not there
 (copy-paste of the code from 1.9.3)
- Add test to verify that there is a uuid method and that it returns a
  properly formatted uuid string.
(#21831) Generate a UUID to allow matching a report to a catalog

In Puppet::Configurer, generate a 'transaction_uuid' using SecureRandom.uuid.
For the catalog retrieval, pass that uuid into the 'fact_options' hash which
generates the query string for the catalog request.  For the report, set the
report's variable, also named 'transaction_uuid,' and serialize that to_pson.

Also:
- In configurer.rb, rename fact_options to query_options since the hash ends
  up including more than just the facts.
- Add spec tests for transaction uuid modelled on those for configuration version
(maint) Correct type in speeeeling of pl-fedora-18-i386 mock in ext/build_defaults.yaml
Merge pull request #1794 from haus/fix_typo

(maint) Correct type in speeeeling of pl-fedora-18-i386 mock in ext/buil...
Merge remote-tracking branch 'upstream/stable'

* upstream/stable:
  (maint) Correct type in speeeeling of pl-fedora-18-i386 mock in ext/build_defaults.yaml
(maint) Clarify comments and link to puppet-master issue
(#21831) Add/use get_transaction_uuid method

Rather than inline insertion of the transaction uuid, factor
out a method, get_transaction_uuid, which returns a hash containing
the transaction_uuid and merge that into the catalog query_options
hash.
Merge pull request #1793 'kylog/issues/master/21831-txn-uuid'

* kylog/issues/master/21831-txn-uuid:
  (#21831) Add/use get_transaction_uuid method
  (#21831) Generate a UUID to allow matching a report to a catalog
  (#21831) Ensure SecureRandom.uuid is available
(doc) Fix YARD output

Removed comments before any declaration of 'module Puppet' so that only the
one in lib/puppet.rb would be used by YARD.
(maint) Clean up comments for Resource::Type
(#21881) Add YARD docs for the format used by Puppet::Resource::Type