(#21198) Allow data bindings w/ hiera to get special vars

Hiera functions get several extra variables that are often used during
classification. The hiera data bindings didn't provide these same
variables and so transitioning from functions to data bindings was
impossible at times. This changes data bindings to pass the whole scope
through (the only way to produce the calling_class and module) and then
wraps it in the Hiera::Scope object to make the variables available.

This replaces an acceptance test with an integration test that checks
the same functionality, but without needing to run an entire machine to
check it.
(Maint) Translate acceptance test to integration

We can make the same check much faster by converting this check to an
integration test.
(#7911) Fixed exception when using forcelocal param

When the user resources had forcelocal set to true the provider would throw the error "undefined method `intern'".  This was because the gid method was being passed to a should call rather than a symbol.  Arguments passed to should need to be symbols.
Merge pull request #1913 from zaphod42/issue/master/21198-missing-vars-in-data-bindings

(#21198) Allow data bindings w/ hiera to get special vars
Merge pull request #1927 from jjulien/iss7911

(#7911) Fixed exception when using forcelocal param
Merge branch 'master' of https://github.com/puppetlabs/puppet