(PUP-987) Remove .rb from the list of manifest extensions to autoload

This removes .rb from the glob of files to autoload/import
(PUP-987) Remove mention of Ruby DSL from documentation comment
(PUP-987) Remove support for the @ruby_code block in catalog AST types

This removes the ability to define the logic of node, class and
resource AST by giving it a block of ruby code. This was only used by
the Ruby DSL API.
(PUP-3144) Rewrite OpenBSD service provider with rcctl(8)
(PUP-2452) Refresh support for Package type

This is implemented behind a feature that each provider must
implement. It is intended to allow source distributions to
recompile packages on a notify or subscribe event.

It allows patterns like:

    package { "app-admin/nginx":
       ensure       => latest,
       hasreinstall => true,
       subscribe    => File['/path/to/nginx/compile/options'];
    }
(maint) Simplify how noop events are checked and handled
(PUP-900) Don't process refresh events for noop'ed resources

When resources were processing queued events, the event callbacks would
be invoked if any of the events were not noop regardless of the state of
the resource in question. This means that a resource that had `noop =>
true` would have the refresh action triggered on refresh, bypassing the
noop statement.

This commit changes the refresh behavior to ensure that resources that
are set to noop are not refreshed.
Merge pull request #3037 from kylog/issue/pup-2914/remove-rgen-install-step

(PUP-2914) Remove 'gem install rgen' step now that it's vendored
(PUP-3174) Make settings catalog skip manifestdir if environmentpath

This makes the settings catalog skip managment of manifestdir if
environmentpath is set.
(PUP-3177) Remove magic handling of square brackets in resource title

The Resource handles square brackets in a resource title as
if it is a complete resource reference. This behavior is there
to support the component resource type, and whits. The implementation
however did not check if a regular type was also given.

This means that any resource with square brackets in its title either
leads to an error, or to the creation of an instance of different
type/title than what was intended.

This commit fixes this by only doing the munging of the title if the
type is nil, component or a whit.
(PUP-987) Cleanup {} around .pp in path
(PUP-987) Remove test that ended up testing nothing but its own mocking

Removed test that ended up testing that the puppet parser does not barf
on an empty.rb file
(PUP-987) Remove additional references to ruby_code and .rb manifests

command_line.rb handled .rb manifests from the command line.
and resource/type.rb still had the ruby_code attribute.
Unit tests checked that the attribute existed (but nothing else).
(PUP-3151) Removed newline from host_entry test fixture

This commit removes the newline character from the end of the host_entry
method in the acceptance test ExternalCertFixtures.  The presence of this
character was causing the jetty_external_root_ca.rb test, when run on
Debian, to not properly set the needed hostname entry into the
/etc/hosts file.
(PUP-3190) Don't assume puppet is in a lib dir

The loaders previously assumed that any installation of puppet would be
under a directory called lib. This holds true when running puppet from
source (during development), or in some package cases, but is not
generally true. This simplifying assumption was made so that the loading
path for both puppet system extensions (built in functions) and module
extensions could be loaded in the same manner: find the root of the
extender and loading code from `lib/puppet/...`.

This changes to loading to instead only assume that there is a `puppet`
directory and not the name of the parent. This, however, forces the
loader for modules to become specialized to only be able to find ruby
extentions, because they are in the 'lib' directory, which is how the
loader must now be configured.
Merge pull request #2915 from jhaals/jhaals/compression

(PUP-1680) Set accept-encoding to identity when http_compression is false
(maint) Remove unused constant from default_manifest_spec
Merge pull request #3049 from hlindberg/PUP-987_remove-ruby-dsl

(PUP-987) Remove th Ruby DSL
Merge pull request #3055 from hlindberg/PUP-3177_Stable-Remove-square-bracket-magic-in-titles

(PUP-3177) Remove magic handling of square brackets in resource title
(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.