(PUP-1852) Deprecate the 'search' function.

This function is deprecated because support for dynamic scoping
has been removed in general and this function makes it possible
to abuse the systems ability to search multiple disjunct name-spaces.
(maint) spec: allow expectations of resources from compiled manifests

Add logic to the PuppetSpec::Compiler.apply_compiled_manifest method so that
a spec test can supply a block that processes the single resources
that comprise that catalog that was compiled before it is run in a transaction.

As a proof of concept and general helper, add a apply_with_error_checks method,
that adds an expectation to never send an :err signal to each resource. This
makes spectest debugging much easier, because without expectations,
the transaction will just finish and the only reported error will be that the
end result is not as expected. When the expectation is added to each resource,
rspec will display all resource error messages as failed expectations.
(PUP-1100) Create_resources syntax error message spec test

This commit adds a check for the create_resources syntax error message.
If there is a syntax error, the error given by puppet master is unclear.
This commits adds a test to check that the error message is correct and
makes sense.

This only happens when the resources are auto imported, which is why I
use a fixture directory.
(PUP-1100) Fix error message with create_resources and auto-loaded class

This commit fixes the error message displayed by PM when a syntax error
is present on an file auto-loaded by create_resources.
(PUP-2798) Remove warnings for reserved words in 3x regular.

We are issuing too many deprecation warnings for people to keep up.
The migration paths is to use the future parser/evaluator to "future
proof" manifests.

This only changes the warnings for 3x regular. And is basically a
reversal of part of PUP-1027 where these warnings were added).
(PUP-1811) Set regexp match vars on regexp match using in operator
(PUP-1811) Add tests for regexp search in array setting match vars
(PUP-2822) Improve description of disable_warnings setting
(MAINT) Small openbsd package spec tweaks

- use .tgz as the package extension
- complete 'provider features' and sort lines
(maint) use compiler in crontab integration spec
(PUP-2382) Remove 'win32/api' requires
Merge pull request #2754 from ffrank/maint/compiler-spec-catch-resource-errors

(maint) spec: allow expectations of resources from compiled manifests
Merge pull request #2798 from jasperla/openbsd_pkgspec

(MAINT) Small openbsd package spec tweaks
Merge pull request #2793 from nfagerlund/docs_disable_warnings

(PUP-2822) Improve description of disable_warnings setting
(PUP-2842) Limit platforms on which we install ruby-prof

The ruby-prof gem is not applicable on all platforms.  This
commit simply adds a :platform restriction to the Gemfile.
(PUP-2843) Fix INVALID_HANDLE_VALUE on Windows x64

 - Previous definition in Puppet::Util::Windows::File would work on x86
   but not x64.  Adjust the constant, and share the constant with
   Puppet::Util::Windows::Security.
(PUP-2654) Capitalize each segment of a resource type "label"

When a Resource type is stringified it selects the short notation
(e.g. Fee::Foo) over the longer (e.g. Resource[Fee::Foo]), and
when doing so it should output each segment of the FQN with a
capital letter. The current implementation only capitalizes
the initial letter (e.g. Fee::foo::fum).

This fixes the implementation of
TypeCalculator.string_PResourceExpression to capitalize all segments.
Merge pull request #2808 from cprice404/bug/master/PUP-2842-limit-platforms-for-ruby-prof

(PUP-2842) Limit platforms on which we install ruby-prof
(maint) Set Travis CI to run two spec runner processes.

Setting Travis CI to use two concurrent processes for running specs.
This should hopefully speed up running specs for pull request CI.
(PUP-2521) Don't use windows-pr constants

 - Somehow there were still some remaining constants referencing
   Windows:: which is part of windows-pr gem.  Most are already
   defined locally as of the code being ported to FFI.  Ensure that we
   use our internal constant definitions rather than those from gem:

    Puppet::Util::Windows::AccessControlEntry::CONTAINER_INHERIT_ACE
    Puppet::Util::Windows::AccessControlEntry::OBJECT_INHERIT_ACE
    Puppet::Util::Windows::AccessControlEntry::INHERIT_ONLY_ACE

    Puppet::Util::Windows::File::STANDARD_RIGHTS_ALL
    Puppet::Util::Windows::File::SPECIFIC_RIGHTS_ALL
    Puppet::Util::Windows::File::FILE_ALL_ACCESS
    Puppet::Util::Windows::File::FILE_GENERIC_READ
    Puppet::Util::Windows::File::FILE_GENERIC_EXECUTE

 - Add new constants to Puppet::Util::Windows::Error
    ERROR_FILE_NOT_FOUND
    ERROR_ACCESS_DENIED