support for hierarchical module naming schemes

@geimer: this should fix the problem that's blocking you right now

I might need to figure out one more thing w.r.t. the devel module name before this really works for you, I'm looking into that...
For now, it's definitely not a fully production-ready hierarchical naming scheme, so I would keep the `example` for now (we can always rename it later imho, the error messages when using a non-existing module naming scheme are clear enough to easily fix this).

I'll fix the naming, you're right that it's stupid to keep repeating the `module_naming_scheme` and `ModuleNamingScheme` parts.