(#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.
(#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.
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) 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
(#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.
(doc) Clarify a couple of comments under lib/puppet/

- 'should not be used in preference to' as 'should be avoided in favor of'
- '25K to 300 symbols to strings' as '25K symbols vs. 300 strings'
(maint) Various fixes (whitespace, etc)