(#18165) Mark tests pending on broken puppet versions

The test that was created for #18165 assumed that it was working against
a version of puppet in which we could correctly load code. This is the
case for some versions of puppet that we try to support, but not
others. The versions that work are: 2.7 between 2.7.14 and 2.7.19, but
2.7.20 is broken. All of the 3.0 series is broken, but if the code has
an `initialize` method, which will appear in 3.1, then it should work.

This commit adds this check for marking the appropriate tests as
pending. In addition it adds tests to make sure we are setting up the
confdir and vardir as a proxy for settings getting initialized.