(PUP-2878) file conflict upgrading from 2.7.26 to 3.6.2

Currently, upgrades from 2.7.26 to 3.6.2 break because of a file
conflict. It seems that as of Puppet 3.3.0, the manpages changed from
being owned by the puppet package, to being owned by the puppet-common
package. This change was initially done to allow upgrades from Debian
packages to ours. However, changing which package owns a given file
makes upgrades difficult. This commit adds in conflicts to allow smooth
upgrades from puppet packages prior to the manpage change to the current
version.
(maint) Add real case for autosign cert generation test

Nate Wolfe noticed what looks like a copy paste error in my original
ssl/puppet_cert_generate_and_autosign.rb test that was repeating the
cert generate with autosign false and dns_alt_names case for the
autosign true and dns_alt_names case. This commit replaces that with
tests using autosign true, which on master with ca fails, and requires
manual signing with --allow-dns-alt-names flag.
(doc) Document user :system param only applies on create
(maint) Always pass an arg to shared behavior block
(maint) Require rspec/mocks over deprecated spec/mocks
Merge pull request #2831 from melissaanne/ticket/stable/fix-conflict

(PUP-2878) file conflict upgrading from 2.7.26 to 3.6.2
(maint) Never require rspec/mocks

We use mocha for stubbing and mocking; requiring the rspec mocks as well
will break things in RSpec 2.14.
(maint) Avoid rspec examples using variable behavior

Given an object with an attr_accessor and using an example shortcut like so:

    subject { metadata.to_hash }

    its(:keys) do
      subject.sort.should == %w[ name version author summary license source issues_url project_page dependencies ].sort
    end

The value of subject in the example varies between RSpec 2.11 and 2.13.
This commit removes the shortcut in favor of a slightly longer but more
compatible test that explicitly invokes the #keys method and does an
expectation on that.
(maint) Remove deprecated `.to_not raise_error(args)` calls

From RSpec:

    DEPRECATION: `expect { }.not_to raise_error(SpecificErrorClass, message)` is deprecated. Use `expect { }.not_to raise_error` (with no args) instead.

This commit removes all args from `.to_not raise_error` expectations.
(maint) Remove nonfunctional directoryservice test

It's not possible to test
Puppet::Provider::NameService::DirectoryService without stubbing out a
huge amount of code, which is done by a different test. The removed test
behaved almost identically like the following test so we can remove this
without losing test coverage.
(maint) Replace invocations of `subject` and `let` in `before(:all)`
(maint) Update rspec version to 2.14
(PUP-2944) Use osfamily to choose yum as a default

This commit changes the defaultfor from using the operatingsystem fact
to the osfamily fact. This is done so that we do not have to duplicate
effort of all the RedHat derivatives that use yum.

Signed-off-by: Charlie Sharpsteen <chuck@puppetlabs.com>
(PUP-2882) Fix single available upgrade

Prior to this commit `puppet module upgrade` would fail with an error message
about not being able to satisfy the upgrade when there is only one published
release of the module.
This commit changes the error message to say that there is no version to upgrade
to. This should reduce some user confusion.
Merge pull request #2874 from adrienthebo/maint/master/update-rspec

Maint/master/update rspec
(PUP-2918) Remove reduntant acceptance test for new build output

Before this commit, the acceptance tests fail because the output of the
puppet module build action has changed for missing Modulefile and
metadata.json files. With this commit, the acceptance test is removed,
because this behavior is covered in the spec tests.
Merge pull request #2888 from andersonmills/bug/master/pup2918-acceptance_tests_for_build_messages

(PUP-2918) Remove redundant acceptance test for new build output
Merge branch 'master' into puppet-4
(doc) Fixes simple typo in 'parser' section.

Also present in https://github.com/puppetlabs/puppet-docs repo. Related Pull Request submitted: https://github.com/puppetlabs/puppet-docs/pull/345.
Merge pull request #2883 from Sharpie/pup-2944-yum-osfamily

(PUP-2944) Use osfamily to choose yum as a default