implementation of a new experimental builtin rule named
FAIL_EXPECTED. It is used to indicate that the result of
a specific target build action should be inverted !!
this is useful for certain test runs, where a compilation
error might need to be interpreted as succesful (and likewise,
a clean compile should be seen as an error).