(PUP-2432) Simplify spec_helper in module skeleton
(PUP-2871) Add :install_options and :uninstall_options to the pacman provider

Without this patch, a user unfamiliar with the pacman provider might write
attempt to add flags to install and uninstall, not knowing that they will fail.
This patch adds support for these two flags to ensure a more cohesive experience
across puppet.
(maint) Add test to ensure upstart is default init daemon in Ubuntu
(PUP-2757) Check for env change before updating Configurer context

Previous work on PUP-2757 ensured that resource references would use the
current environment and that agent runs would use a correctly
initialized 'remote' reference environment, but, ironically, Charlie
Sharpsteen found that the fixes for agent runs re-introduced the
duplication of initial environment import in the Puppet apply case.
Removing that duplication of effort was the reason for the initial
change.

This commit tests whether the environment has changed, which it should
only do in the agent case, and, if not, pushes the original env onto the
context stack.  We push regardless, so that we don't have to guard the
corresponding pop.
(maint) Remove pending face specs

The certificate_request, certificate_revocation_list, key, report,
resource, and resource_type faces were added years ago and the tests have
always been pending. Since we've been ignoring those pending tests up to
this point the warnings are clearly not adding value; let's just get rid
of them.
Merge pull request #2907 from adrienthebo/maint/master/remove-pending-face-tests

(maint) Remove pending face specs
Merge pull request #2612 from ghoneycutt/PUP2432_simplify_skeleton_spec_helper

(PUP-2432) Simplify spec_helper in module skeleton
(maint) Fix description of masterlog test

Re-word the description of a test in `webrick_spec.rb` as it is testing the
behavior of `masterhttplog` and not `masterlog`.
(PUP-2882) Verify available versions

Prior to this commit we didn't check up front to make sure there is a version
matching what is requested by the --version flag. This changed the error given,
which made acceptance tests fail.

This commit adds a check before even attempting to build a graph to ensure that
there is a compatible version.
Merge pull request #2893 from whopper/upstart-ubuntu-test

(maint) Add test to ensure upstart is default init daemon in Ubuntu
Merge pull request #2905 from jpartlow/issue/master/pup-2757-check-if-env-is-same

(PUP-2757) Check for env change before updating Configurer context
Merge pull request #2913 from highb/fix/master/pup-2882_check_available_versions

(PUP-2882) Verify available versions
(maint) use RSpec helpers over instance and local variables
(maint) Isolate specs from whether yaourt is installed
(PUP-2871) Concatenate install install_options to argv

Before this commit, install_options were passed as a nested array to
pacman/yaourt. This commit changes that to concatentate the values
with the argument vector.
(PUP-2871) Concatenate uninstall_options to argv

In the same manner as 9137faf uninstall_options were being appended as a
nested array value; this commit changes the uninstall method to
concatentate options to the array.
(maint) Make pacman (un)install_options private

These methods should not be called by any outside class; this commit
makes them private and removes the tests that invoke them directly.
(PUP-2912) PMT Build symlink exception

Prior to this commit the build command would add symlinks to packages. This
can cause unexpected behavior when installed on a system.
This commit causes the build command to throw an error when it finds a symlink.
That should prevent new modules from being created with a symlink included.
(PE-2912) Error on symlink in module install

Prior to this commit when encountering a symlink in a module file during install,
the install would error out with No such file or directory - /path/to/symlink.
This is confusing and doesn't show what the problem actually is.
This commit modifies the installer behavior to check for any symlinks after the
module is extracted, give errors for each symlink it finds, and die. This will
hopefully help module authors track down the actual reason for the failed install
more easily.
(PUP-2388) Puppet acceptance for Ruby 2 x64

 - Select puppet-win32-ruby branch based on the :ruby_arch host variable
 - Apply permissions a little differently based on how file paths are
   setup in the newer Ruby 2 builds
 - Note that at this time, the puppet-win32-ruby build for x64 does not
   work on Windows 2003 x64 due to 2 missing functions in MSVCRT on that
   platform
 - YAML job definitions are updated in subsequent commit