(PUP-2014) Make gem provider match on a single gem name

Currently the gem provider will match gemname$, for example with bundler
this will return quite a long list of anything ending with bundler. When
a match returns a longer list, it will actually connect and try to pull
the latest gem again, thus increasing the WAN usage and rubygems.org
usage when not necessary.

The proposed fix adds a ^ in front of the name var to ensure it begins
with the gemname.
(packaging) Update PUPPETVERSION to 3.6.0-rc1
Merge branch 'stable'

* stable:
  (packaging) Update PUPPETVERSION to 3.6.0-rc1
Merge branch 'pull-2455'
(maint) Fix Travis failures for 2.1.0 and 1.8.7.

Working around RVM issues on Travis CI by explicitly specifying the
patch level for 1.8.7 so that REE isn't used.

Working around an install issue with 2.1.0 by specifying 2.1.1 instead
of 2.1.0.
Merge pull request #2610 from peterhuene/travis/fix

(maint) Fix Travis failures for 2.1.0 and 1.8.7.
(maint) Fix two spec tests to be robust when running in a path with parens

Both of these spec tests were including the working directory (via
the 'envdir' variable) in the regex to match against, but did so without
properly escaping the directory path. This meant that if the working
directory path included parentheses they were interpreted as regex
symbols rather than bare parentheses.

This could be fixed by wrapping the envdir in Regexp.escape, but
the path isn't really important to check for in this warning message,
so I just removed it from the regex.
Merge remote-tracking branch 'origin/stable'
Merge branch 'master' into puppet-4