Revised naming for prototype inner beans to avoid excessive unique name calculation

Restored original singleton-only adaptInnerBeanName behavior, avoiding endless unique name calculation for every single prototype instance. Non-named inner BeanDefinition objects now suffixed with an identity hex code analogous to non-named XML bean definitions, largely avoiding naming collisions to begin with. After SPR-11246, post-processors can deal with unstable classes per bean name, so occasional collisions aren't a hard problem anymore.

Issue: SPR-11545
(cherry picked from commit 5308b3e)
BufferedImageHttpMessageConverter ignores empty MIME types

Issue: SPR-11581
(cherry picked from commit 90e3dbb)
Consistently applied appropriate ByteArrayOutputStream initial capacities across the codebase

Issue: SPR-11594
(cherry picked from commit dd7f54c)
DispatcherServlet logs request URI in encoded form only

Issue: SPR-11591
(cherry picked from commit 465ca24)
Polishing
CacheAspectSupport checks Cache.get(key) once per invocation only

Issue: SPR-11592
AbstractApplicationEventMulticaster only caches if event type and source type are cache-safe

Issue: SPR-11606
(cherry picked from commit 3388573)
Added Spring Data oriented conversion test case

Issue: SPR-11608
Added expression test case for constant on Map

Issue: SPR-11609
Maintenance version updates (aligned with 4.0.3 release)
Correctly resolve accessors for static properties on Class

Issue: SPR-11609
(cherry picked from commit 3af8a32)
Consistent PropertyAccessor method order as declared in the interface

Issue: SPR-11609
(cherry picked from commit b70148c)
Consider a null ClassLoader (typically the bootstrap CL) as cache-safe

Issue: SPR-11606
Reinject Servlet mocks between TestNG test methods

Prior to this commit, if multiple test methods were executed in a
subclass of AbstractTestNGSpringContextTests annotated with
@WebAppConfiguration, then injected Servlet API mocks would only
reference the mocks created for the first test method. Subsequent test
methods could therefore never reference the current mocks, and there
was a discrepancy between the state of the injected mocks and the mock
set in the RequestContextHolder.

This commit addresses this issue by ensuring that dependencies
(including updated mocks) are injected into the test instance before
the next test method if the ServletTestExecutionListener resets the
request attributes in RequestContextHolder.

Issue: SPR-11626
(cherry picked from commit c38600762dd17c5b4f1dabeb42c2dff77b5a66d1)
Polishing

Issue: SPR-11262
(cherry picked from commit d628025)
ResourceHttpRequestHandler explicitly closes a Resource's InputStream

Issue: SPR-11644
(cherry picked from commit 3a96f16)
Revised ByteArrayOutputStream handling in MarshallingView and co

Issue: SPR-11646
(cherry picked from commit 8006696)
Commons Logging resolution failure with JasperReports 2.0.5 -> easiest way out: upgrade to JasperReports 3.7.6 (which in turn requires POI 3.6)
Java 8 bytecode compatibility for Spring 3.2.x

Issue: SPR-11656
JBoss "vfszip" resources need to be treated as jar URLs

Issue: SPR-11676