Fixes to double binding check.
Fixes to double binding check.

There was a spurious error when doing pickling tests with -YnoDoubleBindings
The test manifested itself when compiling `Trees` and `untpd`. The problem was
a sourious double assignment to the `untpd$` TypeRef. The problem was that
the old `untpd` symbol did get a runId of 3, because it was looked at immediately
before being overritten with the new symbol. So the system detected a race condition.

The new test looks at the denotations previous run id instead of the symbol's when
setting a denotation. That runId was still 2, so not real double binding occurred.

lampepfl/dotty,sjrd/dotty,angi2/dotty,yusuke2255/dotty,som-snytt/dotty,sjrd/dotty,som-snytt/dotty,folone/dotty,spetz911/dotty,auvik/dotty,vsalvis/dotty,lampepfl/dotty,vsalvis/dotty,reactormonk/dotty,dotty-staging/dotty,reactormonk/dotty,auvik/dotty,VladimirNik/dotty,som-snytt/dotty,folone/dotty,dotty-staging/dotty,dotty-staging/dotty,densh/dotty,svalaskevicius/dotty,VladimirNik/dotty,angi2/dotty,lampepfl/dotty,som-snytt/dotty,sjrd/dotty,dotty-staging/dotty,dotty-staging/dotty,lampepfl/dotty,som-snytt/dotty,yusuke2255/dotty,densh/dotty,spetz911/dotty,lampepfl/dotty,sjrd/dotty,svalaskevicius/dotty,sjrd/dotty