Merge branch '2.7.x' into 3.x

* 2.7.x:
  Always set log functions on root environment
  Use TestHelper in old unit tests
  Convert expect..should to expect..to in configurer spec

Conflicts:
	spec/unit/parser/functions/create_resources_spec.rb
	spec/unit/parser/functions/template_spec.rb
	test/language/parser.rb
	test/language/scope.rb
	test/language/snippets.rb
	test/lib/puppettest.rb
	test/lib/puppettest/parsertesting.rb
Merge pull request #1029 from haus/ticket/3.x/15853_add_rc_to_gem_dependencies

(#15853) Update gem dependencies to reflect rc ordering
Merge branch '2.7.x' into 3.x

* 2.7.x:
  (#15940) Add test coverage for rdoc exclude option
  (#15940) Update puppet doc to ignore files and templates in modules
  (#7442) solaris: return "-1" for password_max_age when password aging is disabled
  (#7442) solaris: add tests for password_max_age attribute

Conflicts:
	lib/puppet/util/rdoc.rb
Merge branch '1.0rc' into 1.x
Merge branch '1.x'
Merge branch '3.x'

* 3.x:
  (#15940) Add test coverage for rdoc exclude option
  (#15853) Update gem dependencies to reflect rc ordering
  (#15940) Update puppet doc to ignore files and templates in modules
  (#7442) solaris: return "-1" for password_max_age when password aging is disabled
  (#7442) solaris: add tests for password_max_age attribute
(Maint) Add logging for when Puppet is enabled/disabled.

Someone keeps disabling Puppet on our machines and we have no easy way
to quickly check logfiles to see what happened.

This patch fixes the problem by logging Puppet enable and disable state
changes using `Puppet.notice`.
Merge branch 'maint/2.7.x/log_agent_enable_disable' into 2.7.x

* maint/2.7.x/log_agent_enable_disable:
  (Maint) Add logging for when Puppet is enabled/disabled.
(Maint) Add logging for when Puppet is enabled/disabled.

Someone keeps disabling Puppet on our machines and we have no easy way
to quickly check logfiles to see what happened.

This patch fixes the problem by logging Puppet enable and disable state
changes using `Puppet.notice`.
Merge branch '3.x'

* 3.x:
  (Maint) Add logging for when Puppet is enabled/disabled.
(maint) Consolidate flat file tests

Previously the flat file tests were split into two example groups at the
beginning and end of the file. This commit just consolidates them into a
single example group.
(maint) Refactor filetype specs

This commit refactors the filetype specs to use `let`, especially the
arguments passed to the execute method.

It also adds a shared behavior for crontab file types and refactors the
suntab type to use it.
(#14283) Raise an error when crontab returns non-zero on AIX

Previously, the AIX crontab filetype had the same issue as the Sun one,
the `:failonfail` argument was being set to false, so it would not raise
an error when crontab returned a non-zero exit code. The only time the
filetype raised an exception was if the command output contained the
line: 'You are not authorized to use the cron command'

This commit changes the AIX crontab filetype to raise an exception if
crontab returns a non-zero exit code.

If the user doesn't have any crontab entries, then the `#read` method
will return an empty string as is done for on Solaris.

If the command failed because the user doesn't have permission, then the
filetype will raise an exception, as it did before.

This commit also adds tests and an AIX crontab fixture.
(#14283) Call Tempfile#close and #unlink separately

Previously, we were calling `Tempfile#close!` which under ruby 1.8.7
will call the finalizer's cleanup routine directly. That may raise an
exception, e.g. Errno::EACCES, if the process is unable to unlink the
file, i.e. Windows. In ruby 1.9, the `Tempfile#close!` method was
changed to provide the same semantics as `#close` followed by `#unlink`.
Rather than monkey patch Tempfile, we simply call close followed by
unlink explicitly.
Merge branch 'ticket/master/authconf-ip-deprecation-warning' of https://github.com/pcarlisle/puppet into 3.x

* 'ticket/master/authconf-ip-deprecation-warning' of https://github.com/pcarlisle/puppet:
  Don't issue deprecation warnings for allow_ip
(#11870) Add compatibility with recent Solaris changes

Since adding support for executable package types on Windows
slightly changed the way arrays are dealt with as parameters, it
was causing issues with the `install_options` parameter for
Solaris. Refactor the way this parameter is dealt with to avoid
incompatibility issues.
Merge branch '3.x' of github.com:puppetlabs/puppet into 3.x
(Maint) Fix assertion about locale to correct value.

Previous merge from 3.x to master updated the locales incorrectly and
overwrote a change for solaris specs (#15547) : validate locales as
sentinel #43d86d40570140918009f2048f8998fb2200f81f. This update corrects
it.
Updating CHANGELOG for 1.0.0rc3
Merge branch '1.0rc' into 1.x