Fix a problem with 'no_expected_value_in()'
Fix a problem with 'no_expected_value_in()'

'no_expected_value_in()' should indicate that this constraint is not
expecting any expected value. However it did that by looking at the
destroy mechanism. This did not work in some cases (fortunately) and
also was completely illogical.

The change instead looks at the expected_value_message and if that is
an empty string it is taken as there will be expected value to show.

This works for all existing examples, tests and built-in constraints.

cgreen-devs/cgreen,cgreen-devs/cgreen,cgreen-devs/cgreen,cgreen-devs/cgreen,cgreen-devs/cgreen