(PUP-3462) Add the key 'calling_class_path' which is 'calling_class' with '::' by '/'

This enables to have the class hiera yaml files in directories and enables to
have class based hiera data on windows which does not allow ":" in path names.
(PUP-3247) Remove trigger_string method

Previously, our vendored task scheduler code defined a method that if
called would never work. This is because it would try to return the
`trigger` local variable, but it was never defined, and so would call
the `#trigger` method instead, and that requires one argument for the
index.

This commit just removes the method since it's never used in puppet.
Merge pull request #3246 from joshcooper/ticket/master/PUP-3247-remove-trigger-string

(PUP-3247) Remove trigger_string method
Merge pull request #3175 from vinzent/calling_class_path

(PUP-3462) Hiera scope: add the key 'calling_class_path'
(PUP-3277) Set selinux context for new acceptance test environments

The acceptance environment_utils currently backup existing $confdir
files and copy in test environment files created in /tmp.  These test
files may have a different selinux context than $confdir, which can
result in agent -t runs coming back with selinux context changes and an
unexpected exit code of 2. Rather than just assume that all agent runs
may have resource changes, the helper instead sets $confdir's context
for the test files once they have been copied in (if selinux is
enabled).
Merge remote-tracking branch 'upstream/stable'

* upstream/stable:
  (PUP-3277) Set selinux context for new acceptance test environments
(maint) Allow domain to specified when re-running pe acceptance
(PUP-3277) Allow resource changes in ticket 5477 test

Reports ending up in the /var/log/pe-puppet-dashboard/failed_reports
directory during pe tests runs had an seluser context that differed from
that which the puppet_enterprise module would manage in subsequent agent
runs. This was interaction between the
acceptance/tests/allow_arbitrary_node_name_fact_for_agent.rb from
which the reports were being generated, and this ticket_5477 test which
was exiting with a 2 because of the selinux context changes in the
failed_reports directory. I'm not positive why these two particular
tests happen to have this interaction. The allow_arbitrary_node_name
test is the first to run after installation. The ticket_5477 test is not
the first test to run with an agent -t after this, but maybe the first
that ran without accepting an exit of 2. I don't see anything
wrong with the report files themselves being adjusted by the pe modules,
so I'm relaxing the acceptable_exit_codes in ticket_5477, because I have
run out of other ideas.
(PUP-2906) Reimplement virtual resource collection

Since collection currently relies on the 3x AST, it must be
reimplemented in such a way that it does not rely on the old parser.
That way, we won't break collection with the old parser is removed
for the 4x series.

Take the first steps towards doing this by reimplementing evaluation
for collections so that it no longer relies on
Puppet::Parser::AST::Collection or Puppet::Parser::AST::CollExpr.
Begin by supporting virtual resources with this new implementation.

Additionally, make a small change to resource/file/content.rb so
that it uses dup instead of clone. This is necessary to prevent
trying to modify a frozen String.
(WIP) Add support for exported collections