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...
why use ```self.recursive_mod_unload``` instead of ```recursive_unload``` as in L768