(Maint) Fix deprecation message to point to the right alternative
(maint) Switch to setting Beaker log_level to debug

Beaker 1.3.0 introduces a new log_level, and deprecates the debug
setting, so we are using log_level now to get debug (full debug logs and
backtrace output).
Merge branch 'pr/2158'

* pr/2158:
  (Maint) Fix deprecation message to point to the right alternative
  (#23373) Only parse section lines once
  (#23373) Restore 'all' functionality
  (Maint) Remove unused code
  (#23373) Don't apply all metadata
  (#23373) Use puppet config set in tests
  (#23373) Don't set metadata when it isn't supported
  (#23373) Check for minimal use of [main]
  (#23373) Reuse existing section headers
  (#23373) Add section control to the config print action
  (#23373) Pull apart settings into a few more classes
  (#23373) Provide a more structure config file parse
  (#23373) Have config parsing use IniFile's sections
  (#23373) Support selecting the section

Closes GH-2158
(maint) Make [] operator flatten keys for all LHS types except hash.

It is expected in the Puppet Language that it is possible to write:

$x = ['a', 'b']
SomeType[$x]
(maint) Fix failing test for access operator since array is now ok
(PUP-910) Convert args from 4x representation to 3x

This is a partial solution that is ok as long as there are no functions
written that wants to use the 4x representation.

To be changed in 4.0.0 where functions should be able to opt in.
(maint) Make 3x conversion use verbatim types for non Host/Resource.
Merge pull request #2165 from dyarnell/rhel7

Adds support for building puppet on RHEL7 via spec.
Merge branch 'stable'
(maint) Make Resource::Type use the CodeMerger strategy

This makes the Type.merge method use the CodeMerger instead of
relying on that code knows how to merge itself with any other kind
of code. The CodeMerger is parser specific and is obtained from the
ParserFactory. This way the choice of parser is hidden from the
Type.merge logic.

This also changes the CodeMerger.concatenate to only be responsible
for the actual concatenation (it used to also create a HostClass called
'' as it was used in only one specific use case).
Merge pull request #2167 from hlindberg/maint_future-evaluator-acceptance-test-2

(maint) Make more acceptance tests work for future evaluator
Merge branch 'maint/master/beaker-log-level-debug'

* maint/master/beaker-log-level-debug:
  (maint) Switch to setting Beaker log_level to debug
(PUP-1158) Only output load warning when file given by user has an error

There are two optimised paths through the Augeas loading code:

  * when context parameter is given
  * when lens and incl parameters are given

In the first case, all files for the lens are still loaded, including the one
the user intends to edit.  In the second, only one file and lens is loaded.

When optimising, a warning is logged for the user if it's thought that loading
of the user's file has failed.  Previously this code would output the warning
if there were any errors at all, so a file handled by the same Augeas lens
that errored would trigger the warning, even though the targeted file was fine.

Now errors for the specific context given by the user are checked in order to
issue the warning message.
(maint) Pin beaker to 1.2.0
Merge pull request #2061 from domcleal/tickets/master/17486-augeas-warn-same-lens

(PUP-1158) Only output load warning when file given by user has an error

Reviewed in PR Triage on December 18th, 2013 (Adrien, Dominic, Rob, Josh, Kylo). Looks good. Thanks for the fixes!
(maint) Pin beaker to 1.2.0
(Maint) Move to newer beaker

rbvmomi released a 1.8.0 that broke ruby 1.8 compatibility. We tried
pinning to an older beaker, but that wouldn't have worked because of the
way beaker depends on rbvmomi. Beaker 1.3.1 pins itself to an rbvmomi
that we should be able to use and so using 1.3.1 should solve the issue.
Merge branch 'stable'

* stable:
  (Maint) Move to newer beaker
  (maint) Pin beaker to 1.2.0

Conflicts:
	acceptance/Gemfile
(Maint) Revert including augeas

Including augeas in the tests requires that we have libaugeas installed
on any machine that is going to run the tests with the :extra group. Too
many of our internal systems don't have that kind of setup. It will have
to be up to the maintainer of the augeas code (likely Dominic Cleal) to
make sure that the augeas code works until we can get more complete
testing infrastructure in place.

The ruby-augeas gem can be included from a Gemfile.local for anyone who
wants to develop against augeas in the meantime.
(PUP-1099) Fix incorrect permissions in RPMs

The RPM spec template uses extremely restrictive permissions for `log`
and `lib` directories. These permissions were being incorrectly applied to
`examples` during packaging. This corrects that problem by resetting
default attributes after restricting `log` and `lib` directories.