PersistenceAnnotationBeanPostProcessor correctly detects JPA 2.1 synchronization attribute

Issue: SPR-12396
Polishing

Issue: SPR-12396
Normalize 2+ '/' in path in UriComponentsBuilder

Issue: SPR-12398
AbstractBeanFactory logs bean creation exception on FactoryBean type check at warn level

Issue: SPR-12397
MBeanExporter logs lazy bean retrieval exceptions on the server at warn level

Issue: SPR-12399
Reintroduced original SpringSessionSynchronization constructor and made SpringSession/FlushSynchronization public (for GORM)

Issue: SPR-12400
Delete unused imports in spring-test
Explicit support of String[] value resolution

This commit adds an explicit support for String array for value
resolution. <util:properties> switches the 'locations' property to a
String array in 662d8aa and this broke expression evaluation.

Issue: SPR-12391
Prevent early bean initialization with @EnableCaching

Prior to this commmit, any configuration class holding a CacheManager
bean would be eagerly instantiated. This is because the
CacheConfiguration infrastructure requests all beans of type
CacheManager.

This commit defers the resolution of the CacheManager as late
as possible.

Issue: SPR-12336
HibernateJpaSessionFactoryBean is compatible with Hibernate 4.3 as well now

Issue: SPR-12401
Unit tests for java.util.Optional with autowired collections on @Autowired fields/methods and @Bean method parameters

Issue: SPR-9132
Revised scheduling lifecycle integration

ScheduledAnnotationBeanPostProcessor uses getBean(Class) for TaskScheduler/ScheduledExecutorService retrieval, allowing for a scheduler bean to be flagged as primary, and for a TaskScheduler bean to override a ScheduledExecutorService bean.

ContextLifecycleScheduledTaskRegistrar hooks into SmartInitializingSingleton's afterSingletonsInstantiated callback instead of ContextRefreshedEvent, as a natural consequence of SmartInitializingSingleton's introduction in Spring Framework 4.1 GA.
BeanDefinitionValueResolver preserves original String array if possible and resolves nested String arrays as well

Issue: SPR-12391
Add an alwaysInclude property to TilesViewResolver

Issue: SPR-12374
Revised retrieval of cache strategy beans

Issue: SPR-12336
Reduced DefaultJCacheOperationSource's dependency from ApplicationContext to BeanFactory

Issue: SPR-12336
Polishing
DefaultListableBeanFactory efficiently accesses current bean names and exposes them via getBeanNamesIterator()

Issue: SPR-12404
Upgrade to Hibernate 4.3.7 (and Netty 4.0.24)
Polishing