Add ResultMatchers for status code ranges

Issue: SPR-11424
Allow HttpMethod as a controller method argument

Issue: SPR-11425
Add encoding for the default action in FormTag

Issue: SPR-11426
Ensure matching user destination returned

Before this change, when a client subscribed to a "user" destination
(e.g. /user/foo), actual messages received in response to that
subscription contained the server-translated, unique user destination
(e.g. /foo-user123).

This is not an issue for clients such as stomp.js since the
subscription is unique and sufficient to match subscription responses.
However, other STOMP clients do additional checks on the destination
of the subscription and the response.

This change ensures that messages sent to clients on user destionations
always contain a destination that matches the one on the original
subscription.

Issue: SPR-11423
Restored original detectHandlerMethods call chain for backwards compatibility with custom subclasses (such as in Spring Integration)
Clarified CompositeCacheManager's applicability, added convenience constructor with given delegates, and fixed getCacheNames implementation to never return duplicates

Issue: SPR-11427
Restrict ETag generation in ShallowEtagHeaderFilter

Prior to this commit, all 2xx HTTP responses were eligible for ETag
generation in ShallowEtagHeaderFilter. In some cases, this would use
CPU resources for no reason since HTTP clients would not use ETags.

This commit is an optimization and restricts ETags generation in cases
where (all conditions must be met):
- response has a 2xx status
- request is a GET
- response does not contain "no-store" in its "Cache-Control" header

Issue: SPR-11110
Objects with multi-threaded access should not lazily populate a hash field

Issue. SPR-11428
Avoid unnecessary getMappingForMethod repeat (in particular for RequestMappingInfo)

Issue. SPR-11428
Related polishing

Issue. SPR-11428
Mixed polishing along with recent changes
EhCache/JCacheCacheManager needs to re-obtain runtime-added Cache reference for potential decoration

Issue: SPR-11407
Polishing
Polishing
Set virtualHost on StompBrokerRelayRegistration

Prior to this commit, one couldn't set the virtualHost property on
StompBrokerRelayMessageHandler via JavaConfig, since
StompBrokerRelayRegistration's API didn't offer that possibility.

This commit adds a new method in StompBrokerRelayRegistration's fluent
API to set the virtualHost used by StompBrokerRelayMessageHandler.
Note: this property is already configurable via xml config.

Issue: SPR-11433
Add PropertyNamingStrategy field to ObjectMapperFB

Issue: SPR-11431
Fix typo in AbstractDelegatingSmartContextLoader
Fix memory leak in ConcurrentReferenceHashMap

Update ConcurrentReferenceHashMap to protect against references that
have been garbage collected but for some reason do not appear as a
`pollForPurge` result.

Also added purgeUnreferencedEntries() method to allow for programmatic
cleanup.

Issue: SPR-11440
Regularly purge ResolvableType cache

Update ResolvableType to call `purgeUnreferencedEntries` on the cache
on each get.

Issue: SPR-11394
Additional caching for ResolvableTypes

Add additional caching to ResolvableTypes and SerializableTypeWrapper
in order to improve SpEL performance.

Issue: SPR-11388