Multiple inheritance bug fix

The initial MI implementation was using already-computed namespaces to compute subsequent namespaces, which could result in inherited items being promoted up the MRO hierarchy - e.g. an item inherited from root (lowest level) into  foo (highest level) could then (as now seemingly belonging to foo) override the same item in namespaces below foo.