(PUP-2432) Simplify spec_helper in module skeleton
(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.
(PUP-2918) Clarify missing Modulefile error

Prior to this commit, when building a module without a Modulefile or metadata.json,
the builder would blow up with a cryptic 'Unable to find module root at DIRECTORY'
It's not entirely clear what that means to an end user.
This commit clarifies that metadata.json or a Modulefile are what need to be found
at the module root. Also removes some duplicated logic for checking module root.
(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-2078) Clarify --force behavior

Prior to this commit it was unclear that --force also implies --ignore-dependencies.
This commit clarifies that --force does also imply --ignore-dependencies.
(PUP-2909) rubocop - Lint/UnreachableCode
(PUP-2909) rubocop - Lint/ConditionPosition - unnecessary elseif

This is a trivial bug without any side effects. The correction has the
same behavior as the original.
(PUP-2909) rubocop - Lint/ConditionPosition - replace elseif

    elsif => else
      new_key = mapping[key][:key]
      new_value = method(mapping[key][:method]).call(value)

Here, if the mapping[key][:key] was nil, then new_value would not
have been assigned. However, the behavior is still the same as old
because the method checks for new_key before returning a value.
(PUP-2909) rubocop - Lint/UselessComparison - bug in sort

    files_by_name.keys.sort { |a,b| b <=> b }.each do |path|

comparison b <=> b is invalid, and should be a <=> b
(PUP-2909) rubocop - when _: is no longer valid syntax

Replaces when _: with when _ <\n>