Document destroy method name inference

Update the developer guide to explicitly reference the (inferred)
constant introduced in 38e90105a0.

Also emphasis the fact that the (inferred) mode is enabled by default
with Java config and how to disable it if necessary.

Issue: SPR-12534
Polish documentation for inferred bean destruction mode
Ensure correct boxing in compiled code for OpEq with primitives

Without this change when the operands to an == are a mix of a
reference type and a primitive, the failure to box the primitive
would result in a verifyerror when the compiled code is loaded.

Issue: SPR-12557
Upgrade HttpComponentsHIRE to HttpComponents 4.3

Previously, HttpComponentsHttpInvokerRequestExecutor was not compatible
with the new API of HttpComponents 4.3. Specifically, it is not possible
to update the socket and read timeouts on the HttpClient itself anymore.

We actually already updated HttpComponentsClientHttpRequestFactory for a
similar problem in SPR-11442: if we detect an older HttpClient
implementation, we update the timeout directly on the client. If that's
not the case, we keep the value in the factory itself and use it when a
new HttpRequest needs to be created.

This commit also uses the new API to create a default HttpClient and
therefore requires HttpComponents 4.3. As mentioned above, it is still
possible to use deprecated HttpClient instances against this executor.

Issue: SPR-11113
Better doc reference of CachingConfigurer

Update the documentation to better reflect the fact that a @EnableCaching
configuration class must implement CachingConfigurer in order to provide
advanced customizations to the cache abstraction.
Set ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE in DefaultMockMvcBuilder

Issue: SPR-12553
Polish MockMvcBuilders tests
Polish upgrade to HttpComponents 4.3

Polish fbe605123 to make explicit the fact that a null RequestConfig
can be used to force the defaults of the current HttpClient.

Issue: SPR-11113
Customize connection request timeout

Prior to this commit it was not possible to easily customize the
connection request timeout used by the HttpClient. Both
`HttpComponentsClientHttpRequestFactory` and
`HttpComponentsClientHttpRequestFactoryTests` have been updated to
support a `connectionRequestTimeout` property.

Issue: SPR-12166
Improve logging of registerScope

Issue: SPR-12519
AbstractFallbackTransactionAttributeSource's DefaultCacheKey takes targetClass into account (again)

Issue: SPR-12536
(cherry picked from commit c087e51)
AbstractApplicationEventMulticaster populates ListenerRetriever cache in fully synchronized fashion

Issue: SPR-12545
(cherry picked from commit 61a6bc0)
Consistent bridge method handling in annotation post-processors

Issue: SPR-12495
Preparations for Jackson 2.5

Issue: SPR-12565
Latest dependency updates (Groovy 2.3.9, JRuby 1.7.17, SLF4J 1.7.9)
ReflectionHelper's isFirstEntryInArray properly handles empty arrays

Issue: SPR-12522
Polishing
Annotation post-processors clear old InjectionMetadata registrations on refresh

Issue: SPR-12526
Handle scoped proxy properly in MBeanExporter

Previously, if a bean has a scoped proxy and is annotated to be exposed
to the JMX domain, both the scoped proxy and the target instance were
exposed in the JMX domain, resulting in a duplicate entries. Worse, if
such bean defines an explicit name, the application wouldn't start
because of a name conflict.

This commit deals explicitely with scoped proxy and make sure to only
expose the relevant bean.

Issue: SPR-12529
Consistent throwing of last UnsatisfiedDependencyException if available and no constructor resolved

Issue: SPR-12543