Extend websocket scope to event publication

This change extends the "websocket" scope to ApplicationContext events
published from StompSubProtocolHandler. This however will only work
with ApplicationEventMulticaster that multicasts events in the same
thread.

Issue: SPR-12172
Allow ResponseBodyAdvice to modify null return values

This change defers determination of whether to invoke a message
converter in case of a null @ResponseBody value (or ResponseEntity with
a null body) until after the invocation of the ResponseBodyAdvice
chain. This allows a ResponseBodyAdvice to handle null values
potentially turning them into non-null value.s

Issue: SPR-12152
Allow configuring custom argument types

The WebSocket messaging namespace now exposes configuration options for
custom argument resolvers and return value handlers.

Issue: SPR-12217
Defensive reset/restore of JNDI environment (avoiding test side effects)

Issue: SPR-12223
SystemEnvironmentPropertySource uses regular property names check instead of optimized Map lookup (for defensiveness in SecurityManager scenarios)

Issue: SPR-12224
Polishing
Polishing
Latest dependency updates (EhCache 2.8.4, JasperReports 5.6.1, Jetty 9.2.3)
Optimize SystemEnvPropertySource when possible

Update SystemEnvironmentPropertySource to attempt optimized Map lookups
first, and only fall-back to the defensive SecurityManager safe-mode
if these fail.

Issue: SPR-12224
Optimize ReflectionUtils.isCglibRenamedMethod

Optimize ReflectionUtils.isCglibRenamedMethod by removing the regular
expression.

Issue: SPR-12227
Initialize JNDI to fix failing Environment test

Issue: SPR-12223
Remove references to CommonsHttpInvokerRequestExecutor
Provide subclass hooks in path matching resolver

Update PathMatchingResourcePatternResolver to include additional
protected methods that can be used by subclasses to optimize which
JARs are searched.

Issue: SPR-12231
Avoid Gradle compiler warnings
Support Jackson based XML serialization in RestTemplate

Issue: SPR-12225
Fix Protobuf support - HTTP headers already written

Prior to this commit, the `ProtobufHttpMessageConverter` would call
`outputMessage.getBody()` at the beginning of the `writeInternal`
method, thus writing HTTP headers. Since this method is trying to write
"x-protobuf" headers after that, protobuf support wasn't working
properly for the default "x-protobuf" media type.

Thanks Toshiaki Maki for the repro project!

Also fixed:
* improve `MockHttpOutputMessage` behavior to reproduce the read-only
state of HTTP headers once they've been written.

Issue: SPR-12229
Clean up warnings in spring-messaging
Explicitly release rolled-back database savepoints during (long-running) transaction

Issue: SPR-12228
LocalSessionFactoryBean supports JPA 2.1 auto-apply @Converter on Hibernate 4.3

Issue: SPR-12234
Add missing package-info files in spring-test