Handle case where mod foo; is nested in inline mods

e.g.

   mod submod { mod submod2 { mod foo; } }

means that the module source is in submod/submod2/foo.rs

(code needs cleaning up a bit, but kids want to go to park now!)