Revert "(#12339) Adding basic search output formatting."

This reverts commit a7bd5698ab9bc8c11885737da2e7ec380275f24b.

That was part of a series of enhancements to the integrated Puppet Module Tool
that broke on Ruby 1.8.5.

Signed-off-by: Daniel Pittman <daniel@puppetlabs.com>
Merge remote-tracking branch 'joshcooper/ticket/2.7.x/12412-windows-acceptance-tests' into 2.7.x

* joshcooper/ticket/2.7.x/12412-windows-acceptance-tests:
  (#12412) Mark symbolic file modes test as pending on Windows
  (#12412) Skip ca acceptance test on Window agents
  (#12412) Refactor execution of echo in acceptance tests
  (#12412) Use host-specific methods for generating tmp file/dir
  (#12412) Warn when running hostname -f on Windows agents
  (#12412) Skip symlink tests on Windows
  (#12412) Refactor puppet_resource('exec')
  (#12412) Refactor puppet_resource('host')
  (#12412) Refactor puppet_resource('tidy')
  (#12412) Skip cron on Windows
  (#12412) Refactor puppet_resource('file')
  (#12412) Refactor puppet_resource('group') tests
  (#12412) Refactor puppet_resource('user') tests

Reviewed-by: Jeff McCune
(#12106) Enhance the uninstall PMT action for UX

Before this patch the uninstall action only uninstalled puppet modules by
name. The uninstallation of a module consists of removing a directory in
the module path that matches the name of the module. This does not take
into account the version of the module installed.

This patch changes the behaviour of the uninstall action with the
following features:

* Modules can be uninstalled by specific version
* Modules can be uninstalled by enviornment
* Output of the unistall command has been enhanced to provide a better UX

This patch also includes updated specs for the change in behaviour.
Merge pull request #398 from kelseyhightower/ticket/2.7.x/12106_PMT_uninstall_command_ux_improvements

Ticket/2.7.x/12106 pmt uninstall command ux improvements
(#5454) Acceptance test to verify that pluginsync works properly with "features"

This has been refactored to relieve its dependency on some changes to the
acceptance framework (re: directory creation, file permissions, etc.) that
are not going to be merged; it does still have a dependency on the following
pull request:

https://github.com/puppetlabs/puppet-acceptance/pull/138

also includes a minor improvement to exception logging within the master's
http handler, so that backtraces are available in the master log file
when running via the acceptance framework.
Revert "(#12106) Enhance the uninstall PMT action for UX"

This reverts commit b222cd5845721285cc52f4d4caa05c5bd3329628.

This change broke on Ruby 1.9.2, so needs rework before it is ready to include
in the tree.
Improve guidance for getting `puppet kick` to work.

Previously we told users where they had to look to get this to work; now we
tell them exactly which steps to take, hopefully reducing the barrier for entry.

Signed-off-by: Daniel Pittman <daniel@puppetlabs.com>
Merge pull request #481 from nfagerlund/doc/2.7.x/puppet-kick-howto-in-manpage

Doc/2.7.x/puppet kick howto in manpage
Merge pull request #480 from cprice-puppet/feature/2.7.x/5454-pluginsync-features

(#5454) Acceptance test to verify that pluginsync works properly with "features"
(#12106) Enhance the uninstall PMT action for UX

Before this patch the uninstall action only uninstalled puppet modules by
name. The uninstallation of a module consists of removing a directory in
the module path that matches the name of the module. This does not take
into account the version of the module installed.

This patch changes the behaviour of the uninstall action with the
following features:

* Modules can be uninstalled by specific version
* Modules can be uninstalled by enviornment
* Output of the unistall command has been enhanced to provide a better UX

This patch also includes updated specs for the change in behaviour.
Merge pull request #486 from kelseyhightower/ticket/2.7.x/12106_PMT_uninstall_command_ux_improvements

Ticket/2.7.x/12106 pmt uninstall command ux improvements
(#12412) Don't assume the `root` user exists

Previously, the test was verifying that puppet didn't create the
`root` user, assuming it already existed on the host. But that's not
the case on Windows.

This commit just changes the test to use `Host['user']`, which always
refers to the user that we ssh'ed to the host as, and therefore,
always exists.
(#10299) Refactor Windows administrator detection

This commit refactors the code that detects whether we are running as
`root` on Windows. This is being done in preparation for using native
Windows APIs to detect whether we are running as a privileged user.
(#10299) Use CheckTokenMembership to see if user has admin rights

Previously, on Windows 2003 and earlier, Puppet.features.root? was
implemented by checking if the current user is a member of the local
Administrators group. However, many accounts, e.g. LocalSystem, are
implicit members of this group, so Puppet.features.root? would
incorrectly return false. This led to puppet not being able to find
its default configuration directory, among other things.

Conversely, a process can be executing using a restricted token, so
while the user may be a member of the Administrators group, the
process will be running with less privileges, and
Puppet.features.root?  would incorrectly return true.

This commit uses CheckTokenMembership to determine if the local
Administrators group SID is both present and enabled in the calling
thread's access token.

The behavior on Vista/2008 is unchanged. The calling thread's token
must be currently elevated.
Merge branch 'joshcooper-ticket/2.7.x/10299-LocalSystem-not-root' into 2.7.x

* joshcooper-ticket/2.7.x/10299-LocalSystem-not-root:
  (#10299) Use CheckTokenMembership to see if user has admin rights
  (#10299) Refactor Windows administrator detection

Reviewed-by: Jeff McCune
(#5454) add "autosign" argument

We are removing "autosign" from the list of default arguments for
the with_master_running_on method in the acceptance test framework.
Thus, this test now needs to specify that argument explicitly.
Merge pull request #489 from cprice-puppet/feature/2.7.x/5454-pluginsync-features-autosign

Feature/2.7.x/5454 pluginsync features autosign
(#12310) Remove process_name instrumentation listener

This was causing a performance regression in 2.7.10. Removing it for now, to
be added back later when the issue is fixed.
Merge pull request #490 from pcarlisle/ticket/2.7.x/12310-remove-process_name-listener

Ticket/2.7.x/12310 remove process name listener
Possible fix for #8435 - remote package installation broken

This is the current fix I'm using to be able to use remote package
installations on openbsd. This is just a proposal as it's a quick
and dirty workaround and lacks tests.

Brought to 2.7.x and conflicts resolved in:
 * lib/puppet/provider/package/openbsd.rb

Signed-off-by: Daniel Pittman <daniel@puppetlabs.com>