Revert changes from bug4312 and thereafter until 0.2.4.x
Our efforts to get the likes of #4626 (moved) and #4857 (moved) solved before 0.2.3.x have proven pretty hard, and given how close we are to beta (or rc) territory, I think it's time that we consider reverting the code here.
I have a pair of new branches "revert_4312" and "reapply_4312" in my public repository. "revert_4312" has the necessary commits to revert every part of bug 4312. "reapply_4312" is there so we can re-apply it later in 0.2.4.x, when we are older and wiser and hopefully have some more time.