Generate EDE in more cases, specifically on unreachable auths or synthesized results.
As there is no specific EDE for synthesised, use noError with a text.
We have to be careful here: a single client query can lead to
multiple beginResolve calls. Some of these are done after the main
result has been looked up, for example to validate the result. These
subsequent calls can generate EDE's but we do not want to copy the
EDE to the main result in those cases. A typical example would be
an absent DS for an Insecure domain. Nothing wrong with these but
we do not want the potential absent DS EDE (which could be synthesize)
to be returned with the main query,
To solve this, mimic the processing of validation state and add
an extra argument to a few methods.
I am not terribly happy with the extra argument. Maybe we should
move to an object holding the parameters and result status of the
nested or subsequent calls. This would also avoid some of the saveX,
setX, beginResolve, restore X sequences.