Add support for using an optional `name` field to override language
Add support for using an optional `name` field to override language

Since Perl modules cannot use certain characters in the module name,
such as the '+' character, modules cannot have names like "c++".

Using a `name` field allows us to use, e.g., "cpp" as the module name
and "c++" as the language name to invoke that module.

pragma-/pbot,pragma-/pbot,pragma-/pbot,pragma-/pbot