Guard against exceptions from ApplicationListener

Issue: SPR-11578
Fix issue in last commit
Improve MessageMethodArgumentResolver

This commit validates that the payload type of the message is
assignable to the one declared in the method signature. If that
is not the case, a meaningful exception message is thrown with
the types mismatch.

Prior to this commit, only the Message interface could be defined
in the method signature: it is now possible to define a sub-class
of Message if necessary which will match as long as the Message
parameter is assignable to that type.

Issue: SPR-11584
Introduce base exception class for arg resolution

Issue: SPR-11584
Update WebSocket engines support documentation
polishing
typo in pointcut expression
Merge pull request #424 from md42/master

* pull424:
  typo in pointcut expression
Don't detect annotations on superclass in StAnMeta

Changes introduced in conjunction with issue SPR-11475 altered the
behavior of StandardAnnotationMetadata such that annotations could be
detected on superclasses, specifically in the case where the
AnnotatedElementUtils.getAllAnnotationAttributes() method is invoked to
obtain multiple annotations of the same type (on the lowest level in the
class hierarchy), as is the case for @Profile and @Conditional.

This commit partially reverts these changes as follows:

 - All methods in AnnotatedElementUtils now set the
   traverseClassHierarchy to false, thereby effectively reverting the
   changes made in commit 1d30bf83a0d6f303ce38526286b90172c3c596c6.
   Note, however, that the changes made to AnnotationUtils remain in
   place.

 - Introduced tests in AnnotationMetadataTests that verify behavior
   present in Spring Framework 4.0.2 and earlier.

 - Updated tests in AnnotatedElementUtilsTests so that they pass against
   the reverted changes (i.e., align with the behavior present in Spring
   Framework 4.0.2 and earlier).

 - Refined Javadoc in AnnotationMetadata with regard to annotations
   being "present" vs. "defined".

 - Refined Javadoc in AnnotatedTypeMetadata.

Issue: SPR-11475, SPR-11595
Improved StAX<->SAX bridge

Improved the SAX to StAX (and vice-versa) bridge exposed via StaxUtils.
The old integration had some issues with namespace declaration
attributes, brought to light in a XMLUnit upgrade.

Issue: SPR-11549
CacheAspectSupport checks Cache.get(key) once per invocation only

Issue: SPR-11592
Fixed SPR issue reference and aligned exception messages

Issue: SPR-11592
Update SockJS overview section and polish
Revise section explaining the flow of STOMP messages
Add doc section on configuration and performance

Issue: SPR-11450
Next development version
Revert "Next development version"

This reverts commit 4788875a4b627f615f7e496dd18ad222e981d34e.
AbstractApplicationEventMulticaster only caches if event type and source type are cache-safe

Issue: SPR-11606
Relaxed getElementTypeDescriptor assertion to not insist on a ResolvableType-known array

Issue: SPR-11608
Fix typo in documentation