(maint) Simplify the CA use of the autosign setting

Commit bca628dc adds proper conversion of autosign input values to
booleans, but Puppet::SSL::CertificateAuthority was still trying to
handle string values. This commit simplifies the checking logic and lets
the autosign setting handle data normalization.
(PUP-1879) Clear gem path cache when loading library features

Installing gems during a Puppet run should be picked up by features using the
'libs' option.  However gems are installed into separate directories, so
rubygems maintains an in-memory directory cache, which needs invalidating
when attempting to load a library after installation.
(PUP-1769) yum provider takes install_options

The yum provider now supports install_options.
(PUP-1769) Changing the has_feature to a one-liner
(pup-1952) Add jruby-19mode to travis ci (but under allow_failures)
(pup-1952) Break out jruby versions of gems as needed
(pup-1952) Accomodate that jruby can't fork
(pup-1952) Increase jruby heap size for travis CI
(PUP-1962) Fix class relationships

Fixes the following manifest: Class[foo] -> Class[bar]

Would fail with undefined local variable or method `host_class'
exception.
(PUP-748) Fix the zypper package provider support for install_options.

When install_options is a hash, the options are rendered with a space.
This is causing zypper to interpret the option incorrectly when
using Kernel.exec.

For example, this fails with "unknown option '--from 1'":
Kernel.exec 'zypper', 'install', '--from 1', 'vim'

While this succeeds:
Kernel.exec 'zypper', 'install', '--from=1', 'vim'

The fix is to use the supported option syntax that uses
an equal sign instead of a space.

Also flattening the options instead of joining them so that
multiple options in a hash are not interpreted as a single option.
(PUP-748) Add specs for zypper install_options.

Remove expected nil when calling execute without install_options.

Add specs for install_options as a hash, array, or string.
PUP-1975 Add environment information to facts save during compilation

Previously the save method on the indirector was called without including
the environment information. This patch includes the environment so a custom
terminus may utilize this information during storage.

Signed-off-by: Ken Barber <ken@bob.sh>
PUP-1975 Include transaction_uuid in facts terminus save during compilation

This includes transaction_uuid in the options sent to the save method for the
facts terminus.

Signed-off-by: Ken Barber <ken@bob.sh>
(PUP-1973) Fix getting scope vars to template for inherited scope

The change in PUP-1220 (turning off access to dynamic scope)
accidentally also turned off access to inherited scope.

This is a big problem because it blocks the most used pattern of getting
parameters into classes in modules (and then accessing them in
templates).
Merge pull request #2445 from hlindberg/pup-1973_fix-access-to-inherited-scope

(PUP-1973) Fix getting scope vars to template for inherited scope
(PUP-1279) Make Class[::p] remove the ::

When transformed to 3x to form a reference to a class, the 3x runtime
does not handle ::p (it expects the :: to have been removed), and
subsequently it is not able to find classes starting with ::.

This fix removes leading '::' when a PHostClassType is created.
(PUP-1751) Fix service provider on Suse to handle boot services.

The current implementation passes the '--check' flag to chkconfig for
Suse OS family. This causes chkconfig to exit with 0 when the service is
enabled and non-zero when the service is disabled or non-existent.

However, for boot services (services that start with 'boot.'), chkconfig
is returning 0 even if the service is disabled or non-existent.

The fix is to stop passing the '--check' flag to chkconfig and instead
parse the output looking for '<service_name>  on' to see if the service
is enabled.
Merge pull request #2446 from hlindberg/pup-1979_class-ref-with-absolute-name

(PUP-1279) Make Class[::p] remove the ::
(PUP-1751) Add service provider examples for Suse special casing.

Add spec examples for when a service is enabled, disabled, or
non-existent on a Suse OS.

Remove example that expected the '--check' flag for Suse, as it is no
longer passed.
(maint) Add File.open to memory_impl abstraction

And provide a to_path so that it can pretend to be a Pathname when
expanding paths.