(PUP-1413) Add 'touch' command to Augeas provider

The touch command works like its POSIX namesake, only creating the node in
the Augeas tree when it doesn't already exist, and creating it with a NULL
value.  The behaviour is copied from augtool (augrun).
(PUP-3024) Add deltarpm_percentage and deltarpm_metadata_percentage to yumrepo

This patch adds deltarpm_percentage and deltarpm_metadata_percentage to the
yumrepo type.
(maint) Add error message if GitURI is nil

Prior to this commit, if the options param was left out from the
ci:test:git rake task, it would only tell the user that nil was an
unrecognized task i.e.

`#<ArgumentError:  is not recognized.>`

This was not helpful in the case where that uri variable was nil.

This commit changes that by adding a ArgumentError check to see if that
git uri is nil.
(maint) Throw error if install urls are missing from final options

Prior to this commit, if the git urls were missing from the
final_options hash, the rake task would try to do a match on a nil
object and fail. This commit fixes that by raising an ArgumentError if a
url is nil.
(maint) Enable rubocop checking for shadowed variables

Previously, we allowed variables to be shadowed by variables
of the same name at local scope. This can make for confusing
reading to someone new to the code (and can potentially indicate
logic errors).

So this commit enables rubocop checking for shadow variables. It
also fixes (by renaming) all extant shadowed variables. Naming
is hard, but a best effort was made.
Merge pull request #3377 from domcleal/tickets/master/pup-1413-augeas-touch

(PUP-1413) Add 'touch' command to Augeas provider
Merge remote-tracking branch 'upstream/pr/3427'

* upstream/pr/3427:
  (maint) Enable rubocop checking for shadowed variables
(PUP-3016) use puppet helper in acceptance tests

Use the puppet() helper function instead of assuming puppet is in the
path. After installing puppet on a Windows system in particular, it's
path is not reflected in the shell environment. Using puppet() lets
Beaker figure out how to execute the puppet binary.
Retain less-than argument for version of module installed.

Get around having to quote the whole command by inserting a space
after the version operator.  sigh.

In our current windows-cygwin overloaded ENV one has to single quote the entire
'puppet module #args <options>' command, which is not currently possible
with the helper (thus the use of Command in the previous version of this test).

The only other way i could get it to work is by quoting the version
string, but this requires a space after the operator. Otherwise
windows/cygwin says "file not found".

closes #3342
(maint) Allow git URI to be specified in local_options.rb

Previously, the Rakefile assumed if you were doing a `git` type
acceptance test that the repos to install were of the form
`puppet#stable` or just `puppet`. In either case, environment variables
GIT_SERVER, FORK, and SHA were used to generate the actual URI, e.g.
git://<server>/<fork>#<sha>

However, if the repo to install was an actual URI, then the Rakefile
would silently map each repo to `nil`, and would trigger the error
message added in 099b0cbd6.

This scenario would always happen if you ran the tests once, and copied
`merged_options.rb` to `local_options.rb`, and attempted to re-run the
tests with the same configuration as last time. In that case,
`local_options.rb` would contain URIs of the form:

   :install=>
     ["git://github.com/puppetlabs/facter.git#stable",
      "git://github.com/puppetlabs/hiera.git#stable",
      "git://github.com/puppetlabs/puppet.git#master"
     ],

This commit modifies the Rakefile to preserve the specified URI if it
doesn't match one of our "short" versions, e.g. puppet#stable. This only
applies to `git` type tests.
Merge pull request #3429 from er0ck/fix/master/PUP-3016-use_puppet_helper_in_acceptance_tests

(PUP-3016) use puppet helper in acceptance tests
Merge pull request #3400 from juniorsysadmin/deltarpm-percentages

(PUP-3024) Add deltarpm_percentage and deltarpm_metadata_percentage
Merge branch 'pr/3405'

* pr/3405:
  (maint) Allow git URI to be specified in local_options.rb
  (maint) Throw error if install urls are missing from final options
  (maint) Add error message if GitURI is nil

Closes GH-3405