(#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.
Fix #6561 - Better looking puppetdoc CSS for rdoc mode

From: Duncan Phillips <duncan@yola.com>

Signed-off-by: Brice Figureau <brice-puppet@daysofwonder.com>
Add the s3_enabled property to the yumrepo type

This allows you to access S3 repos using the yum-s3-iam plugin
Restrict the regex to only allow 0 or 1. Not 10.
(#21478) Add plymouth-ready to excludes list

An update to Ubuntu 12.04's plymouth package, version 0.8.2-2ubuntu31,
introduces a new upstart service, plymouth-ready in order to fix
the bug detailed here:
https://bugs.launchpad.net/ubuntu/+source/lightdm/+bug/982889

This new service uses instances, which puppet does not yet fully
support, and attempting to retrieve the status of this job causes
puppet to fail (for example when running "puppet resource service").

Adding plymouth-ready to the excludes list allows puppet to output
the status of services that it can handle competently while avoiding
the service introduced by this package.
(#21470) Change validation of "storeconfigs" to reflect runtime state.

The problem was that the validator is written with static validation
in mind - not considering if storeconfigs are on or not.
Since we are currently only using the validator to validate for the
current runtime, this commit changes the behavior to consider the
runtime storeconfigs state and marking the related issues as :ignored if
storeconfigs is on.

A user that wants to use Puppet as a library will need to configure the
validation / issue options accordingly (the manifests will be validated
as per the settings of the puppet runtime used to run the validation).

This is easily done by using a different severity producer.
(#18255) - Follow http redirections

This patch adds support for HTTP redirection in the Puppet HTTP
client.

The http client includes a redirection limit, and recreate the
redirected connection with the same certificates and store as the
original (as long as the redirect new location is ssl protected).

This patch allows redirection following for all HTTP methods, which
in the Puppet ecosystem shouldn't be an issue.

Signed-off-by: Brice Figureau <brice-puppet@daysofwonder.com>

Use a loop - temp commit
(maint) Remove unused exception class
(maint) re-indent file
(#21307) Refactor WatchedFile class

The watchedfile class was extracted from another location but had some
remnants of old behavior. In addition it would treat missing files as
always changed, which could lead to undesired behavior around trying to
reload missing files.

This commit refactors the WatchedFile to use a single timestamp value
and assume that the file is unchanged if the file timeout period has not
elapsed.

In addition this commit also treats file absence as a valid state.  If a
file is missing between two checks it will be treated as unchanged.
(#6561) increase rdoc output font size and fix facts display

Signed-off-by: Brice Figureau <brice-puppet@daysofwonder.com>
(maint) make SRV record lookup more generic
(Maint) Fix warnings issued by yard

There were many uses of incorrect tags (@returns instead of @return),
unnamed params (@params without specifying which param) and inccorect
use of multiple variations (@params for the same param many times
instead of using @overload). This fixes many, but not all of the
warnings issued by yard when it generates documentation.
(#21653) Skip modules with no manifest directory when loading resource types

The resource_type face tries to parse all manifests from modules, but was
failing if a module didn't have a manifest directory. This is not an error
condition so we just skip those modules.
(maint) Refactor type_loader, mostly specs

This cleans up the specs for type_loader a lot and slightly refactors a few
methods in type_loader.
(maint) Fix rspec warnings

Running specs with rspec 2.13 caused a lot of warnings. Many of them actually
exposed preexisting bugs, the most common being a syntax error when expecting
an Exception. These are worth fixing even if we don't bump to rspec 2.13.
Merge pull request #1752 from pcarlisle/ticket/21653-resource-type-cant-find-file

(#21653) Skip modules with no manifest directory when loading resource t...
Merge branch 'stable'

* stable:
  (maint) Refactor type_loader, mostly specs
  (#21653) Skip modules with no manifest directory when loading resource types
(maint) Extract puppet setting types to constant
(#6112) Acceptance test handles host with uninitialized ssl

Running the acceptance test on Jenkins discovered a third case, and
helped use clarify behavior for the expected cases on an initialized
master/agent.  The third case is a host which has not initialized yet
(has no ssl info created or cached) which is similar to what happens
when a master initializes through a 'puppet master' call, but this is
through a 'puppet generate' call and what the node should be capable of
as a master or agent afterwords is ambiguous.

Acceptance test now checks this case, showing that a cert does generate
in this instance, and leaves the host in an ambiguous state of ssl
configuration where they cannot authenticate with the master afterwords.