(#16553) Exclude portmap-wait from upstart services

The portmap-wait upstart service is not a service by itself (it's a helper for
the portmap service) and does not respond to the status command, it returns 1
along with an error message. This commit adds portmap-wait to the excludes
method of the init provider, which is also used by the upstart provider to
exclude services from self.instances. This also adds the portmap-wait service
to the upstart provider spec test to verify that it is correctly excluded from
self.instances.
Merge pull request #1493 from haus/ticket/master/16553_add_portmat_wait_to_excludes

(#16553) Exclude portmap-wait from upstart services
(maint) Remove rc_mocks from build_defaults

Packaging internals have been updated to no longer require rc_mocks, so this
commit removes the rc_mocks from the build_defaults.
(maint) Add f18 mocks to build_defaults

Fedora 18 has been released to the world, so we should build packages for it.
This commit adds the fedora 18 mocks to the build_defaults so we can easily
supply fedora 18 packages.
Merge pull request #1496 from haus/maint/3.1.x/add_f18_mocks_to_build_defaults

Maint/3.1.x/add f18 mocks to build defaults
Merge branch '3.1.x'
(maint) Parse PMT JSON output when testing

JSON hash structures are unordered and when testing the output of the
puppet module tool the output was assumed to be ordered. This commit
extracts the outputted JSON and converts it into a Ruby data structure
and performs checks on the data elements to ensure the output is
correct.
Merge pull request #1499 from adrienthebo/parse-pmt-json-output

(maint) Parse PMT JSON output when testing
(maint) Update rubygems source to use https

This gets ride of the warning with Bundler 1.3.0:

    The source :rubygems is deprecated because HTTP requests are
    insecure.
    Please change your source to 'https://rubygems.org' ...
Merge branch 'maint/2.7.x/gemfile_https' into 2.7.x

* maint/2.7.x/gemfile_https:
  (maint) Update rubygems source to use https
Merge branch '2.7.x' into 3.0.x

* 2.7.x:
  (maint) Update rubygems source to use https
Merge branch '3.0.x' into 3.1.x

* 3.0.x:
  (maint) Update rubygems source to use https
(maint) Refactor parsedfile specs to remove instance vars

The current test coverage for the ParsedFile provider uses an instance
variable referencing the class. This commit removes the instance
variable use and replaces them by setting `subject` to an anonymous
subclass of ParsedFile.
(maint) convert parsedfile helpers to let blocks

This commit replaces the use of instance variables with `let` blocks in
the parsedfile provider specs.
Merge branch 'pull-1494'

This closes GH-1494
Merge branch '3.1.x'

* 3.1.x:
  (maint) Update rubygems source to use https
(#18092) Use CGI.parse on network URI query

The current implementation of the network device enable password parsing
is unable to handle characters like sharps and spaces in the password,
which are valid passwords. This commit adds CGI parsing of the query
string to only extract and unescape the enable query parameter.

This supercedes GH-1327 and GH-1491.
(#17864) Don't check certificate_revocation if configured not to
(#19493) suggest a 'specifications/lib' symlink to make puppet.gemspec's require work
(#19495) show how to run tests for n00bs like me