Javadoc coverage of package metadata detection (supported for Hibernate, not needed for EclipseLink and OpenJPA)

Issue: SPR-10910
AbstractApplicationContext uses AtomicBoolean instead of synchronization for active/closed flags

Issue: SPR-11863
More WebSocket logging updates

Update WebSocketSession toString methods to include the handshake URI
and add id and URI fields to ensure they're available after close().

Log WebSocket session open and close events at INFO.

Remove trace messages for destinations that do not match.

Issue: SPR-11884
Avoid multiple invocations of afterConnectionClosed

This change ensures the state of a SockJS session is set to CLOSED
immediately after close is invoked. This avoids duplicate invocations
of afterConnectionClosed in WebSocket transport.

Issue: SPR-11884
Use SESSION_NOT_RELIABLE when no messages received

When a WebSocket session is closed after not having received any
messages, we'll use SESSION_NOT_RELIABLE to indicate to other parts
of the session closing code not to send anything further (e.g.
SockJS "Go Away!" frame).

Issue: SPR-11884
Support STOMP DISCONNECT with receipt

Issue: SPR-11599
Add support for removeOnCancelPolicy

This change removes the recently added SockJsThreadPoolTaskScheduler
and instead builds support for the removeOnCancelPolicy property in
ThreadPoolTaskScheduler and ScheduledExecutorFactoryBean.

Issue: SPR-11918
Remove JDK 1.7 guard for removeOnCancelPolicy property

Issue: SPR-11918
Fix condition in SubProtocolWebSocketHandler

Issue: SPR-11884
Fix warnings from the sniff task
CachedIntrospectionResults and co consistently avoid synchronization (through use of ConcurrentReferenceHashMap)

As a side effect, through ConcurrentReferenceHashMap, we're using soft references for non-cache-safe bean classes.

Issue: SPR-11867
AbstractAutowireCapableBeanFactory's createBean/autowireBean/configureBean use CacheUtils.isCacheSafe to re-enable PropertyDescriptor caching

Issue: SPR-11875