[PE-6474] This fix adds support for classes with hyphens in the name.

This will enable full compatibiity with Puppet 3.x, which still allows
classes to have hyphens in the names
@nicklewis Probably about as legal as hyphens in general. The allowance of them and where has never been well defined, even during the brief time when they were officially allowed. For most versions of puppet, behavior when it comes to hyphens has been undefined.