Major bugfix: duplicate hypotheses were being entered in the stacks

This caused n-best lists to not consist of unique derivations. This was caused by doing improper recombination (adding the new hypothesis and then not completing removing it).

Added a test to make sure deviations are unique even with string parity turned off (-use-unique-nbest)