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
Clean up warnings in spring-websocket
Clean up warnings in spring-jms
MockHttpServletRequestBuilder allows for specifying content type as String value

Issue: SPR-12405
Defensive handling of manually registered singleton names (based on Spring Integration test failure)

Issue: SPR-12404
Test for cyclic type declaration handling in TypeDescriptor

Issue: SPR-9735
(cherry picked from commit 7fa3e65)
Polishing
(cherry picked from commit acefd83)
Explicitly clear manually registered singleton names after destroySingletons call

As indicated by our recent Spring Integration test failure, autowiring attempts after context closing did not fail before. After the introduction of the separately managed manualSingletonNames set, the algorithm could run into a situation where a singleton name is still in the manualSingletonNames set but not in the singletonObjects map anymore. As a remedy, destroySingletons needs to explicitly clear the manualSingletonNames set in order to remove references to non-disposable singleton beans as well (which are otherwise left in the set since individual destroySingleton calls only come in for disposable beans with destroy methods).

Issue: SPR-12404