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