Add warn_untyped_record and Werror erlc options
Dpor: Delay decision when there is choice between many predecessors

If one of many predecessors should be chosen, the Dpor technique initially
picked at random and then it preferred the process that contains the second
instruction in the race.

This is now changed and no decision is made arbitrarily, until the very last
moment. This protects in cases where the random initial decision leads in more
interleavings because the other candidate processes are also chosen in other
arbitrary decisions. In essence:

If on interleaving 1 a certain instruction of process B is in race with the
instruction of process A that happened at step 1 and has as predecessors
instructions from process C (step 2) and D (step 3), immediately choosing e.g. C
arbitrarily might later lead to D also being chosen due to a different
race. An interleaving beginning with D can also reverse the race in this example, so this choice must be delayed.
Fix optimality for the two sleep set blocked tests

ATTENTION: This patch has not been confirmed theoretically yet...