Servlet 3 multipart request implements getParameterNames defensively (for WebLogic 12 compatibility)

This commit also includes lazy resolution support for StandardServletMultipartResolver, along the lines of existing lazy mode in CommonsMultipartResolver.

Issue: SPR-11074
Issue: SPR-11730
Add MessageSendingOperations for JMS

This commit adds a JMS implementation of MessageSendingOperations,
allowing to send JMS messages using Spring's standard Messaging
abstraction.

MessagingMessageConverter is a standard JMS's MessageConverter that
can convert Spring's Message to JMS message and vice versa. Existing
infrastructure has been updated to use this implementation.

Issue: SPR-11772
Building against Groovy 2.3.1
ServletRequestAttributes skips well-known immutable values when updating accessed session attributes

Issue: SPR-11738
Refined check for NoClassDefFoundError in getTestExecutionListeners()

Issue: SPR-11804
Consistently log Class.getName() instead of Class.toString(), avoiding double class term in log message

Issue: SPR-11804
Building against latest javax.el 2.2.x version
Add ResponseBodyInterceptor

This change introduces a new ResponseBodyInterceptor interface that can
be used to modify the response after @ResponseBody or ResponseEntity
methods but before the body is actually written to the response with the
selected HttpMessageConverter.

The RequestMappingHandlerAdapter and ExceptionHandlerExceptionResolver
each have a property to configure such interceptors. In addition both
RequestMappingHandlerAdapter and ExceptionHandlerExceptionResolver
detect if any @ControllerAdvice bean implements ResponseBodyInterceptor
and use it accordingly.

Issue: SPR-10859
Refactor @JsonView support w/ ResponseBodyInterceptor

The newly added support for ResponseBodyInterceptor is a good fit for
the (also recently added) support for the Jackson @JsonView annotation.

This change refactors the original implementation of @JsonView support
for @ResponseBody and ResponseEntity controller methods this time
implemented as an ResponseBodyInterceptor.

Issue: SPR-7156
Consistently log Class.getName() instead of Class.toString(), avoiding double class term in log message

Issue: SPR-11804
StringUtils.parseLocaleString parses variant correctly when variant contains country code

This commit also includes a JUnit 4 style revision of StringUtilsTests and ObjectUtilsTests.

Issue: SPR-11806
Latest patches from ASM trunk
Polishing
UriComponentsBuilder.toUriString instead of RequestContext.getMvcUrl (breaking cyclic dependency between web.servlet.support and web.servlet.mvc)
Consistent use of IllegalStateException instead of InternalError for UnsupportedEncodingException cause
Further UriComponentsBuilder javadoc revision
(cherry picked from commit 54636b3)
Consistent MvcUriComponentsBuilder assertion handling
Disable URL resolution in DTD declarations

Issue: SPR-11768
Polishing
Servlet 3 multipart request implements getParameterMap defensively as well

Issue: SPR-11074