Also apply X-Forwarded-Prefix in fromContextPath

Issue: SPR-12500
Polish ServletUriComponentsBuilder
Revised ControllerAdvice basePackages handling (based on package names instead of java.lang.Package)

Issue: SPR-12506
Fixed the output stream incomplete data by explicitly flushing the OutputStreamWriter
Merge pull request #704 from aantono/master

Fixed the output stream incomplete data by explicitly flushing the OutputStreamWriter
Better empty response body support in RestTemplate

Prior to this change, RestTemplate returned an empty response body if:

* HTTP return status 204 or 304
* Content-length header equals 0

This change adds a new condition for this, better supporting RFC7230
section 3.4, for connections that are closed without response body:

* No Content-length header
* No Transfer-encoding: chunked header value
* a Connection: close header value

See SPR-7911 for previous efforts in that space.

Issue: SPR-8016
ControllerAdvice basePackages specifically refer to actual packages (avoiding accidental prefix matches with other packages)

Issue: SPR-12509
Upgrade to JUnit 4.12

Issue: SPR-12511
Update supported WebSocket runtimes in the reference documentation
Add support for autowiring Jackson handlers

This commit introduces the SpringHandlerInstantiator
class, a Jackson HandlerInstantiator that allows to autowire
Jackson handlers (JsonSerializer, JsonDeserializer, KeyDeserializer,
TypeResolverBuilder and TypeIdResolver) if needed.

SpringHandlerInstantiator is automatically used with
@EnableWebMvc and <mvc:annotation-driven />.

Issue: SPR-10768
Add ability to clone to UriComponentsBuilder hierarchy

Issue: SPR-12494
List Tomcat and Jetty Web first.
ResponseEntity provides static "unprocessableEntity()" convenience method as well

Issue: SPR-12515
DefaultSingletonBeanRegistry's isDependent defensively checks for circular recursion

Issue: SPR-10787
Consistent bridge method handling in annotation post-processors

Issue: SPR-12490
Issue: SPR-12495
Polishing
Synchronize message sending

Issue: SPR-12516