(PUP-4046) Fix missing requirement and system private loaders
Before this commit it was not possible to call hiera_include
because of two problems:
- a missing requirement on the helper hiera/puppet_function
- the puppet system loader had no private loader and could not call to other puppet functions (i.e. the include() function).
This went undetected because of poor test covarage of hiera
related functionality.
The fix for this adds the requirement and ensures that the "puppet
system loader" (loading from puppet itself) has self as private loader.
(This because the concept of having functions that can only be called
from other functons in puppet does not exist; i.e. "puppet private".
This is not needed since puppet itself can always invoke common private
logic via other means).