ARM-17: Module Namespaces

Modules could leverage their given namespace to distinguish on one
publisher's module from another and be imported based on that namespace.

Example use cases include separating the postgresql module used by PE
from a general-use module, or extending a given foo-mysql module with
bar-mysql that adds defines, classes, or types without conflicting over
the 'mysql' module name.

Closes #63