HibernateJpaDialect prepares JDBC Connection by default if on Hibernate EntityManager 4 (with its connection release mode ON_CLOSE)

Analogous to HibernateTransactionManager, there is a "prepareConnection" flag on HibernateJpaDialect which allows for overriding the actual mode of operation. This is easily accessible from HibernateJpaVendorAdapter now which declares HibernateJpaDialect from its getJpaDialect() method.

Issue: SPR-8959
Issue: SPR-11942
Consistent getJpaDialect() narrowing (along with HibernateJpaVendorAdapter)

Issue: SPR-8959
Issue: SPR-11942
SpringSessionContext for Hibernate 4 supports lazily bound Session for propagation SUPPORTS

Issue: SPR-9020
HibernateTransactionManagerTests for Hibernate 3 covers currentSession() as well

Issue: SPR-9020
JmsMessagingTemplate uses local convertJmsException template method instead of generic MessagingExceptionTranslator interface

This commit also turns MessagingException into a NestedRuntimeException subclass which delivers a root message that has the cause message appended to it. That's a common expectation with the use of Spring exceptions since all of our exception hierarchies have historically been designed that way.

Issue: SPR-12064
Issue: SPR-12038
InternalResourceViewResolver's exposure of context beans is now available at UrlBasedViewResolver level

Issue: SPR-8064
Tiles 3 TilesViewResolver allows for specifying custom TilesView subclasses as well

Issue: SPR-12075
Add sonar integration.

This commit configures the SonarRunner plugin so that SonarQube can
be used against the project. A few customizations were applied to
namely exclude the asm and cglib repackaged classes.

Issue: SPR-10766
Polishing
Improve destination-type documentation

Issue: SPR-12073
Cache documentation in multi-threaded environment

Issue: SPR-9588
Polishing
Polish mockito usage

Consistent use of BDDMockito rather than standard Mockito.
Update references to SpringSource in the reference documentation
Upgrade to Gson 2.3

This release contains the following new features:

- The new @JsonAdapter annotation to specify a Json TypeAdapter for a
  class field
- JsonPath support: JsonParser.getPath() method returns the JsonPath
  expression
- New public methods in JsonArray (similar to the java.util.List):
  contains(JsonElement), remove(JsonElement), remove(int index),
  set(int index, JsonElement element)
- Many other smaller bug fixes

See: https://groups.google.com/forum/#!topic/google-gson/MOqf5RGtIzk
Merge pull request #621 from royclarkson/Gson_2_3

Upgrade to Gson 2.3
Replace http by https for spring.io links in the reference documentation
Remove outdated IDE, JIRA and Tomcat references

Issue: SPR-7521
Additional configuration classes get detected when imported through XML or registrars

Issue: SPR-11430
Issue: SPR-11723
Unit test for circular reference in default profile property, plus related polishing

Issue: SPR-12078