Two commits that lay the groundwork for deprecating loadFactoryNames.

See #27954

Comment From: snicoll

For the record the AOT work in the core container may also use this. In Spring Native, the components that take part of the processing of the ApplicationContext are discovered in spring.factories. It was convenient to provide support for the *Aware interface but if we can replace this by a list of well-defined types, that would be more idiomatic as these components are not beans.

Comment From: snicoll

Thanks a lot for the contribution @philwebb, @wilkinsona, and @mbhave. Apologies for the delay in merging this.