Fix cache cleanup issue in DefaultSubscriptionRegistry

Issue: SPR-11931
Improve subscription removal in SubscriptionRegistry

Avoid using destination pattern based search when removing sessions or
subscriptions from DefaultSubscriptionRegistry and use only session and
subscription ids.

Issue: SPR-11930
Polish
StatementCreatorUtils populates NVARCHAR, LONGNVARCHAR, NCLOB via setString as well

Issue: SPR-11938
Polishing
Introduce RequestEntity and builder

This commit introduces the RequestEntity, a class similar to
ResponseEntity, but meant for HTTP requests rather than responses. The
RequestEntity can be used both in RestTemplate as well as @MVC
scenarios.

The class also comes with a builder, similar to the one found in
ResponseEntity, which allows for building of a RequestEntity through a
fluent API.

Issue: SPR-11752
Polish
Defensively check for pre-resolved FactoryBean.getObject() results in circular reference scenarios

Issue: SPR-11937
Add support for asserting JSON

Based on the JSONassert library.

Issue: SPR-10113
Expose handled exception as request attribute

This change exposes exceptions handled in the DispatcherServlet with a
HandlerExceptionResolver as a request attribute. This is done only when
the resolver returns an empty ModelAndView indicating the exception was
resolved but not view is required (e.g. status code was set). In such
cases the exception may be useful to any handlers in an ERRPR dispatch
by the servlet container.

Issue: SPR-11686