Cache InjectionMetadata per bean name instead of per Class, if possible

Issue: SPR-11027
Factory method type resolution works with indexed and named arguments as well

Issue: SPR-11019