Allow module names to contain dashes

It's not recommended that module names contain dashes, yet some of them
do.  This changes the module name parsing to allow alpha-numeric
characters plus underscores and dashes.