RunClang: Do not add implicit members if errors occurred

If there are errors in the actual input translation unit, do not bother
trying to extend it with implicit members because we will not generate
output anyway.
RunClang: Use queue to track class completion

When adding implicit members more classes may be completed.  Use a
queue to follow this cleanly instead of allowing a vector to be
reallocated during range interation.
RunClang: Force definition only of special members

Only special members may be implicit, and only implicit members may
be left undeclared.  Avoid spending the time to mark other members
referenced.