DefaultListableBeanFactory defensively handles BeanDefinition access in getBean(Class)

Issue: SPR-10542
(cherry picked from commit 9d3d6d5)
PersistenceAnnotationBeanPostProcessor defensively handles BeanDefinition access for extended EntityManagers

Issue: SPR-8834
(cherry picked from commit 592e344)
ServerEndpointExporter can initialize itself based on a late-provided ServletContext as well (for Boot)

Also allows for direct setting of a ServerContainer and for custom triggering of endpoint registration.

Issue: SPR-12109
(cherry picked from commit 11805b6)
Consistent attribute documentation/formatting in spring-context and spring-mvc schemas
(cherry picked from commit b5763fe)
PropertySource implementations perform conversion to String arrays via StringUtils (getting rid of EMPTY_NAMES_ARRAY)
(cherry picked from commit b73c531)
Polishing