Use different validation rules for module 'owner' and 'name'

A full module name consist of 'owner' and 'name' and they have
different validation rules. The 'owner' must consist of letters
(both upper- and lowercase) and numbers. It is permitted to
have an 'owner' that starts with a digit. The 'name' however, must
start with a letter and can contain lowercase letters, numbers,
and underscores. A more relaxed rule will permit that the 'name'
also contains dashes (some existing modules have names that does).

This commit ensures that the difference in validation of 'owner' and
'name' is enforced.

Closes #532