refactoring: clarify column mapping logic in distribution
There is no bug in the join distribution logic (as we suspected in #346 (closed)), everything works correctly (look at the tests). But the code of the distribution setter is very complicated and wired (we should refactor it some day). So, I've made the parent to child reference mapping logic more clear it this small refactoring.