Warn/error names with special characters

This fixes GH-360. It does the following:

* Introduces a standard `NameRegexp` in the `config` package that all names must adhere to.
* Makes it a deprecation _warning_ for resource names to be invalid.
* Makes it an _error_ for module names to be invalid (since no BC).

We can change the warning to an error in the next version.
Can we make this more descriptive? "Special characters" means different things to different people. Maybe say:

    module name can only contain letters, numbers, dashes (-), and underscores (_)