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.