Fix bug with DPhyp seeing joins without all conditions

Bug in DPhyp logic has been fixed
lots of notes on what is going on
new test cases have been added
setSeed function left in as it makes later intellij testing of randomCost tests easier