(#21749) Make attributes readable on Puppet::ModuleTool::Dependency

Make it possible to read the attributes of these objects
without turning them to PSON and parsing that back again.
(#11133) If a node definition uses a regex, make its capture variables available in the node's scope
Deserialize time in Status objects the same way as everywhere else

In other classes when initializing from a hash we allow time to be either a
string or a time object. This makes it work with both YAML and PSON. This
fixes this for Puppet::Resource::Status.
Merge pull request #1784 from nhemingway/bug_11133_node_regex_captures

(#11133) If a node definition uses a regex, make its capture variables a...
Merge pull request #1767 from dalen/moduletool_dependency_attrs

(#21749) Make attributes readable on Puppet::ModuleTool::Dependency
(#21947) Add missing error message for ILLEGAL_NAME

The faulty behavior was triggered by interpolation of an illegal name.
e.g. "Contains $CONTRABAND".
Merge pull request #1804 from hlindberg/issues/issue-21947

(#21947) Add missing error message for ILLEGAL_NAME