Relaxed final declarations and protected doInvoke methods

Issue: SPR-12484
YamlProcessor defensively closes InputStream

Issue: SPR-12487
OrderUtils defensively checks for presence of javax.annotation.Priority

Issue: SPR-12489
Common annotation processing for imported and nested classes within configuration classes

Issue: SPR-12486
BeanFactory accepts getBean arguments for non-prototype beans as well

Issue: SPR-12488
Polishing
BeanFactory accepts getBean arguments for non-prototype beans as well

Issue: SPR-12488
Remove DisposableBeanMethodInterceptor

Previously, any @Configuration class was enhanced to namely implement
DisposableBean in order to remove static callbacks that were registered
for that class. This leads to problem if an ApplicationContext is created
and destroyed within the lifecycle on another ApplicationContext in the
same class loader.

It turns out that the destruction callback is no longer necessary as the
interceptors are now stateless: the VM is free to reclaim any of those if
necessary.

Issue: SPR-12445
Remove compiler warning
AnnotationAttributesReadingVisitor defensively handles meta-annotation retrieval failure

Issue: SPR-12493
Latest dependency updates (Joda-Time 2.6, H2 1.4.182, Jettison 1.3.7, xpp3 1.1.4c)
Check the user of a SockJS request

Issue: SPR-12497
Enrich CONNECTED frames with Principal

Issue: SPR-12479
Add private method to remove duplication
Add info on intercepting static resource requests

Issue: SPR-10655
Fix issue where FormHttpMessageConverter fails to write multipart data

FormHttpMessageConverter incorrectly determines that the media type
"multipart/form-data; charset=utf-8" is not multipart. This commit
allows the media type to contain a charset parameter.
Add protected YamlProcessor.getFlattenedMap method

Add a protected getFlattenedMap method to the YamlProcessor that
subclasses can use to flatten a source Map so that it has the same
entries as the Properties, but retains order.

Issue: SPR-12499
Use Jackson improved default configuration everywhere

With this commit, Jackson builder is now used in spring-websocket
to create the ObjectMapper instance.

It is not possible to use the builder for spring-messaging
and spring-jms since these modules don't have a dependency on
spring-web, thus they now just customize the same features:
 - MapperFeature#DEFAULT_VIEW_INCLUSION is disabled
 - DeserializationFeature#FAIL_ON_UNKNOWN_PROPERTIES is disabled

Issue: SPR-12293
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).

Issue: SPR-10768