feat(hasNameSpace): allow module names using a dot-delimited namespace

Allows module namespaces to use dot delimiters in addition to camel case,
making `my.app` a valid namespace.

Additionally, `my` is a valid module name if and only if it depends on
another module with the `my.` prefix.