Add Sphinx documentation initial draft
Fix typo in test method name
Refactor config directives to use config.action() and a registration callback, so that conflict detection works
PEP8
Use config.maybe_dotted() to resolve dotted strings instead of calling DottedNameResolver directly: this makes the path resolution relative to the Configurator() instantiation instead of the caller module