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
HandlerExecutionChain prevents re-adding the interceptors array to the list (and declares varargs now)

Issue: SPR-12566
Allow sending binary messages with STOMP

After this change the StompSubProtocolHandler sends STOMP frames
with content-type=octet-stream as a binary WebSocket message.

Issue: SPR-12475
Polish ModelAndViewContainer and update tests
Improve @SessionAttributes support during redirect

Before this change attributes listed with @SessionAttributes would not
be saved in the session when there was a redirect and the controller
method declared a parameter of type RedirectAttributes.

This change ensures it's the "default" model that is always the one
checked for @SessionAttributes under all circumstances since
RedirectAttributes is really only meant to provide String values to
insert into or append to the the redirect URL.

Issue: SPR-12542
Specify SockJS protocol and client versions

In order to anticipate SockJS 1.0 release (see SPR-12422 for more details)
and link to the right SockJS documentation version, we now explicitly
specify that we support SockJS protocol 0.3.3 and SockJS client 0.3.x.