Polish MessageBuilder
Fix MockHttpServletResponse HTTP status update

Prior to this commit, one could call the setStatus method on
this Mock object and update the response's status,
even though the sendError method had already been called.

According to the HttpServletResponse Javadoc, sendError() methods
commit the response; so the response can't be written after that.

This commit fixes MockHttpServletResponse's behavior; setStatus
methods do not update the status once the response has been
committed.

Issue: SPR-10414
Add doesNotExist match to HeaderResultMatchers

Prior to this commit, one could not test for the absence of
a specific HTTP header in a response.
Using header("X-Custom-Header", Matchers.nullValue()) would not
work because it tests for an empty value of an existing header.

This commit adds a doesNotExist method on the
HeaderResultMatcher.

Issue: SPR-10771
Revert "Fix failing test"

This reverts commit c01f45fa59db126e928affccad596eca45c8c202.
Revert "Update Spring MVC Java config for ResourceResolvers"

This reverts commit f8e1f06d08d0401eb44ef832122235300b1b8fac.
Revert "Remove unintended changes from last commit"

This reverts commit 1ba806b1857e33a13d90f4a6d12eb27e01da4f3b.
Revert "Add initial cut of expanded resource handling"

This reverts commit d4a0e628d5c4c5e2a89181d1bb1d3f023673d816, reversing
changes made to 8abe949734414e91e204d14e381be7f922f2dfc3.
Revert resource handling changes

This change reverts recent commits made to expand the resource handling
mechanism in Spring MVC. The changes will move into a separate branch
and likely into a separate project allowing it to mature and evolve
without being tied to the main framework release schedule.

Issue: SPR-10933, SPR-10310
Support AntPathMatch URLs in URL ResultMatchers

Prior to this commit, one could only match exact URLs in redirectedUrl
and forwardedUrl ResultMatchers. When creating a resource with
a REST service, URLs often contain the id the new resource,
like "/resource/12".

This commit updates those ResultMatchers to support both
exact matches and AntPath matches, using new methods.
The former URL then can be tested against "/resource/*" in MVC tests.

Issue: SPR-10789
Polish

Issue: SPR-10789
Merge pull request #379 from bclozel/SPR-10789
Introduce ResolvableType Class

Add a new ResolvableType Class which encapsulates java.lang.reflect.Type,
providing access to supertypes, interfaces and generic parameters along
with the ability to ultimately resolve to a java.lang.Class.

ResolvableTypes may be obtained from fields, method parameters, method
returns, classes or directly from a java.lang.reflect.Type. Most methods
will themselves return ResolvableTypes, allowing easy navigation.

For example:

	private HashMap<Integer, List<String>> myMap;

	public void example() {
 		ResolvableType t = ResolvableType.forField(
 					getClass().getDeclaredField("myMap"));
 		t.getSuperType(); // AbstractMap<Integer, List<String>>;
 		t.asMap(); // Map<Integer, List<String>>
 		t.getGeneric(0).resolve(); // Integer
 		t.getGeneric(1).resolve(); // List
 		t.getGeneric(1); // List<String>
 		t.resolveGeneric(1, 0); // String
 	}

Issue: SPR-10973
Use ResolvableType in GenericTypeResolver

Refactor GenericTypeResolver to make use of ResolvableType
for generic resolution.

Issue: SPR-10978
Use ResolvableType in GenericCollectnTypeResolver

Refactor GenericCollectionTypeResolver to make use of ResolvableType
for generic resolution.

Issue: SPR-10977
Refactor from deprecated GenericTypeResolver calls

Refactor AbstractMessageConverterMethodArgumentResolver and
BridgeMethodResolver to use ResolvableType in preference to deprecated
GenericTypeResolver calls.

Issue: SPR-10980
Fix ResolvableType isAssignableFrom for <?>

Fix ResolvableType.isAssignableFrom to correctly deal with <?> style
generics.

Issue: SPR-10973
Clarify ResolvableType.resolve() Java Doc

Issue: SPR-10973
Add support for MIME-based message conversion

The MessageConverter interface in spring-messaging is now explicitly
designed to support conversion of the payload of a Message<?> to and
from serialized form based on MIME type message header.
By default, the MessageHeaders.CONTENT_HEADER header is used but a
custom ContentTypeResolver can be configured to customize that.

Currently available are Jackson 2, String, and byte array converters.
A CompositeMessageConverter can be used to configure several
message converters in various places such as a messaging template.
Fix Cache documentation

Fixed malformed code snippets, formatted whitespace and changed invalid
external link.
Merge pull request #379 from Xaerxess/fix-doc-cache

* fix-doc-cache:
  Fix Cache documentation