make anon_field_begin() / anon_field_end() work

Add a dedicated anon_field_iterator that can look through
FieldSpecDecls.
diagnose ambiguous promoted field lookup

Restore the PromotedFieldPaths object in LookupResult and its
diagnose logic. Hook it up in Sema::LookupQualifiedName().