(PUP-2303) Fix arguments of ArgumentError

Yo dawg, I heard you like ArgumentErrors so I put an
ArgumentError in your ArgumentError.

This makes errors in fileserver config much more readable and
easier to find.
(maint) Whitespace fixup in ext/debian/puppetmaster-passenger.postinst
(PUP-2395) Add apache2 dependency to puppetmaster-passenger

The postinst of the puppetmaster-passenger depends on the a2*
binaries to configure the package. This dependency moved from the
apache2-common package into the main apache2 package, so this commit
adds apache2 as a dependency of the puppetmaster-passenger package.
(PUP-2395) Update puppetmaster-passenger for httpd 2.4

In httpd 2.4 some of the conventions around a2ensite changed which broke
the postinst and postrm scripts. This commit brings in several changes from the
debian puppet packaging that have addressed this problem. An
apache2_puppetmaster_sitename function is used to determine the correct
sitename to use in sites-available. Thanks to Stig Sandbeck Mathisen for
the work in the debian puppet packaging.
(PUP-2395) Refactor puppetmaster-postinst sed calls

This commit brings over a change from the debian puppet packaging to
move all of the sed calls in to one sed invocation and to use a tempfile
instead of operating directly on the live apache vhost file.
(PUP-2395) Update puppetmaster-passenger postinst for passenger 4

Passenger 4 deprecated and removed several vhost directives, which would
break installations of the package on platforms with passenger 4. This
commit adds a condional sed call to delete those directives if the
passenger version is 4 or greater.
(PUP-1597) Fix contain functions lookup of class with leading ::

When the contain function creates edges it looked up resources
without removing the leading :: in the name. The catalog never stores
these, and thus an edge was formed between a resource and nil.

This commit simply removes the ::. There is no checking that a resource
is actually returned since they should all be there due to the call to
include them in the catalog (which would fail if it was not possible to
include them).

A test is also added for the erronous (and now fixed case).
(PUP-488) Add specs fur future Resource parameter/metaparameter access

This is just adding a little additional spec coverage for the future
parser Resource[foo][attribute] syntax where attribute is either a
parameter or a metaparameter.  It also checks some
virtual/realized/exported variations.

From debugging, it appears that the only values being accessed during
evaluation are those either set directly on the Puppet::Parser::Resource
instance's Puppet::Parser::Resource::Params, or the default
Puppet::Parser::Resource::Params which have been set in the current or
parent scopes during evaluation of a
Puppet::Pops::Model::ResourceDefaultsExpression for the given resource
type.  No attempt is made to lookup the type class's defined parameter
defaults.
(PUP-2357) Add validation of 'idem' (no-effect) expr sequences
(PUP-2357) Add validation of non-productive expressions

This adds validation of non-productive expressions:
* when they do not appear last
* when they appear last in constructs that do not produce a value
Merge pull request #2622 from haus/ticket/stable/pup_2395_fixup_passenger_packaging

(PUP-2395) Fix puppetmaster-passenger for apache httpd 2.4
(PUP-2240) Add support for splat in case and selector expressions.

This functionality was missing from the original work on supporting
the splat (unfold operator).
(maint) Include 'f' prefix for fedora paths in the builds repo

Recent changes to acceptance install_utils fetch all repository data
to the coordinator node and then push that data to the test nodes rather
than expecting the test nodes to be able to reach our internal builds
server.  Two paths being used to fetch repo data were missing the
necessiry of including a 'f' in the version segment of the path when
fetching fedora repo data. This patch fixes this.
Merge branch 'stable'

* stable:
  (maint) Include 'f' prefix for fedora paths in the builds repo
  (PUP-2395) Update puppetmaster-passenger postinst for passenger 4
  (PUP-2395) Refactor puppetmaster-postinst sed calls
  (PUP-2395) Update puppetmaster-passenger for httpd 2.4
  (PUP-2395) Add apache2 dependency to puppetmaster-passenger
  (maint) Whitespace fixup in ext/debian/puppetmaster-passenger.postinst
(maint) Remove empty unused method from test.
Merge pull request #2627 from hlindberg/pup-2240_splat-case-and-select

(PUP-2240) Add support for splat in case and selector expressions.
Merge pull request #2583 from hlindberg/pup-2357_validate-expr-no-effect

(PUP-2357) Validate non-productive expressions
(PUP-2369) Ignore the 'of type Class' output added to property changes

Acceptance tests had two cases which were checking the output of
property changes, and these were tripping over the new additoin of 'of
type <class>' added in PUP-2369.  This patch just changes the regex to
ignore that section of the output so we are just checking the values,
since the class info is more for developer debugging.
Merge pull request #2628 from jpartlow/maint/master/pup-2369-acceptance-ignores-property-value-class

(PUP-2369) Ignore the 'of type Class' output added to property changes
Merge pull request #2623 from jpartlow/issue/master/pup-488-add-tests-for-resource-meta-parameter-access

(PUP-488) Add specs fur future Resource parameter/metaparameter access