DefaultListableBeanFactory defensively handles BeanDefinition access in getBean(Class)

Issue: SPR-10542
PersistenceAnnotationBeanPostProcessor defensively handles BeanDefinition access for extended EntityManagers

Issue: SPR-8834
DefaultSingletonBeanRegistry performs non-synchronized checks for existing entries in dependentBeanMap and containedBeanMap

Also adding alias resolution to isDependent's algorithm (for circular dependency detection).

Issue: SPR-8834
Issue: SPR-7966