Upgraded to XStream 1.4+; reworked XStream construction

Also introducing a "mapper" bean property and applying the stream driver and the class loader to the native XStream delegate now.

Issue: SPR-10421
Return -1 after parse error for Expires header

Issue: SPR-10648
Make date methods in HttpHeaders public

Issue: SPR-10713
Polish AbstractContextLoaderInitializer and subclasses

This commit polishes the Javadoc and assertion failure messages for
AbstractContextLoaderInitializer and its subclasses.
Exposed all of XStream 1.4's configurable strategies as XStreamMarshaller bean properties

Issue: SPR-10421
Introduced "mapperWrappers" bean property

Issue: SPR-10421
Added javadoc note on the use of CachingConnectionFactory

Issue: SPR-10581
Fixed accidental use of JDK 8 getOrDefault method on MultiValueMap

Issue: SPR-10807
Polishing

Issue: SPR-10807
Fix SimpleJdbcCall and SimpleJdbcInsert Javadoc

Change "fluid" interface to "fluent" and "string" to "chain", plus fix
few typos in Javadoc.

Issue: SPR-10792
Merge pull request #325 from Xaerxess/patch-1

# By Grzegorz Rożniecki
* patch-1:
  Fix SimpleJdbcCall and SimpleJdbcInsert Javadoc
Fix potential security risk when using Spring OXM

Disable by default external entity resolution when using Spring OXM
with jaxb. This prevents a XML entity from being able to resolve a
local file on the host system.

See:
https://www.owasp.org/index.php/XML_External_Entity_(XXE)_Processing

Issue: SPR-10806
Extract MimeType as a base class of MediaType

MimeType is available in core-spring and does not include support
for quality parameters and media used in HTTP content negotiation.
The MediaType sub-class in org.springframework.http adds q-parameters.
Add header support to WebSocketConnectionManager

Issue: SPR-10796
Allow @ResponseBody on the type level

This change enables having @ResponseBody on the type-level in which
case it inherited and does not need to be added on the method level.

For added convenience, there is also a new @RestController annotation,
a meta-annotation in turn annotated with @Controller and @ResponseBody.
Classes with the new annotation do not need to have @ResponseBody
declared on the method level as it is inherited.

Issue: SPR-10814
Fix bug that ignored custom json prefix

Issue: SPR-10817
Added Java 8 compliant @Schedules container annotation for @Scheduled

Issue: SPR-10532
Introduced  DefaultParameterNameDiscoverer which checks JDK 8's standard reflection first and then falls back to ASM-based debug symbol analysis

Also, StandardReflectionParameterNameDiscoverer calls "Parameter.isNamePresent()" now to return null (and pass on to the next discoverer) if no JDK 8 parameters are available. Note that this requires OpenJDK 8 b100 or higher to compile now.

Issue: SPR-10532
XStreamMarshaller exposes public marshal methods with DataHolder parameter

Also splitted buildXStream into constructXStream and configureXStream now.

Issue: SPR-10421
Consistent use of varargs, consistent template method order