(#13649) Restrict module name matching
Before this patch the regex used to match valid module names in
Puppet::Node::Environment#modules_by_path matches invalid module
names.
This patch replaces the current regex pattern with one more accurate.
This patch also includes updated specs to cover this change in behavior.