Merge branch 'master' into puppet-4

* master:
  (maint) Confine enc_provides_node_when_store_configs_enabled to debian
  (PUP-2943) Update acceptance tests
  (PUP-2943) Clean ignore-changes uninstall logic
  (PUP-2943) Uninstall/upgrade ignore changes spec
  (PUP-2943) Add PMT --ignore-changes
  (PUP-2882) Fix single available upgrade
Merge branch 'master' into puppet-4
Merge branch 'master' into puppet-4
(PUP-2953) Remove masterlog option

Pull the `masterlog` configuration option as it is unused and causes confusion.
Merge branch 'master' into puppet-4
Merge branch 'master' into puppet-4
(PUP-2948) enable rubocop for travisCI

Before this commit, rubocop was executed for each ruby platform in travisCI.
This commit enables rubocop only for the latest ruby platform (2.1.1). In a
nutshell, the changes included are

- Add rubocop step in travis CI
- Ensure rubocop is present in test group
- Ensure rubocop is not added for ruby 1.8
Merge pull request #2889 from vrthra/rubocop/puppet-4/enable-travisci

(PUP-2948) enable rubocop for travisCI
Merge remote-tracking branch 'upstream/master' into puppet-4

* upstream/master:
  (PUP-2882) Verify available versions
(PUP-1680) Set accept-encoding to identity when http_compression is false

Override the Ruby 2.x default of setting accept-encoding to gzip when puppet http_compression is set to false.
(PUP-2948) enable rubocop for travisCI

Previously, the Rubocop gem was added to development and testing groups without
any further constraints. However, this caused failures in windows platform, due
to its dependency on json. Since we are using only multi-json, we do not want
to have this dependency added. So this commit restricts rubocop to
non-windows native rubies.
(PUP-2728) Remove rug package provider as default

We only support SLES 10.4 which uses zypper, and when zypper is present
we should always use it over rug. This commit removes rug as a default
provider; if zypper is not present then rug should be used as a fallback
due to the number of confine statements.
Merge pull request #2916 from vrthra/rubocop/puppet-4/gem-fix

(PUP-2948) enable rubocop for travisCI
Merge branch 'master' into puppet-4

* master:
  (PUP-2388) Update Windows Jenkins matrix defs
  (PUP-2388) Puppet acceptance for Ruby 2 x64
  (maint) Make pacman (un)install_options private
  (PUP-2871) Concatenate uninstall_options to argv
  (PUP-2871) Concatenate install install_options to argv
  (maint) Isolate specs from whether yaourt is installed
  (maint) use RSpec helpers over instance and local variables
  (PUP-2871) Add :install_options and :uninstall_options to the pacman provider
Merge remote-tracking branch 'upstream/master' into puppet-4

* upstream/master:
  (maint) make lmhosts disabled spec msg friendlier
  (PUP-2766) Make newer environment tests run in PE env
  (PUP-398) Munge package source on Windows
Merge pull request #2917 from adrienthebo/issue/puppet-4/pup-2728-remove-rug-pkg-provider-default

(PUP-2728) Remove rug package provider as default
Merge pull request #2912 from Sharpie/2953-remove-masterlog-setting

(PUP-2953) Remove masterlog option
(maint) Remove unused property 'validater' attribute

The validater attribute was added to Puppet::Property in 1d739731, but
the code that would have used it was always commented out and later
removed entirely. Since this attribute isn't respected we can remove it.
Merge pull request #2924 from adrienthebo/maint/puppet-4/remove-unused-validater

(maint) Remove unused property 'validater' attribute
correct test description for http_compression disabled