Resolve confidential errors after object creation

The confidential override error was raised if a method was added that
was not confidential while a confidential method was already attached to
the object. However, this was always the case when a confidential method
was already attached, because the annotations on the new method had not
been run yet. Now confidential validation is performed after annotations
are run.