Gideon/soft constraint decoding

This pull request concerns the now implemented and working code for soft syntactic constraint decoding.
This code is being tested in the new test class /test/decoding/SoftSyntatcticConstraintDecoding.java
The code for regular-expression matching based decoding is not yet properly tested, but it wasn't tested before either as far as I know. I have been careful not to change the functionality by refactoring and extending step by step. See also my earlier mail with respect to the intended functionality of nonterminal matching in case of regular-expression matching mode, which was the only thing perhaps open to multiple interpretations.

Please note that the added Assertions and output in Dotchart has been commented out. Some of the old code has 
been commented out but is still left to remind what it originally looked like. This can be further cleaned up (i.e. fully removed) if so desired.