Assign `@metadata` before we apply derived metadata hooks.
Created by: myronmarston
Since derived metadata hooks can contain arbitrary user code,
the logic in them can trigger something that tries to access
and use Example#metadata
or ExampleGroup#metadata
before
initialization is done. It avoids problems if we allow
@metadata
to be assigned before we run the hooks.