Only inherit from root after processing all other inheritance levels.

Otherwise root items that get inherited into higher namespaces can
subsequently override the same item in intermediate namespaces.
Merge branch 'master' into 317-multiple-inheritance-bug
Revert "Only inherit from root after processing all other inheritance levels."

This reverts commit 9f24e4a8fb5386ceb793efa0fbdbdfe407e486fd.
The general solution for MI.
More efficient MI for big suites
More efficient inheritance wired in.
keyword arg for simple or efficient MI
Merge pull request #318 from hjoliver/317-multiple-inheritance-bug

Multiple inheritance bug fix