Added null check for dpstates in equals(); updated test case
Restructured hypothesis exploration, fixed bug in cube pruning

Got rid of a level of indirection, now directly add lists of hypotheses to Candidate. Also was calling 'break' instead of 'continue' when finding an incompatible hypothesis. Model score now much lower.