HHH-9231 HHH-5690 : Test cases for transactional cache strategy

(cherry picked from commit af5791f6dd5b8b82e4786a146375e583c12037b7)

Conflicts:
	hibernate-infinispan/src/test/java/org/hibernate/test/cache/infinispan/functional/BasicTransactionalTestCase.java
HHH-9231 Avoid updating collection 2LC if contains entity added in tx

(cherry picked from commit 3b098a94d3463086a230d6dbc1254e9ecbf76cda)

Conflicts:
	hibernate-infinispan/src/test/java/org/hibernate/test/cache/infinispan/functional/BasicTransactionalTestCase.java

(cherry picked from commit 36e35207f6f30f0236844dbcf898714070ad8cfe)
HHH-9231 : Avoid updating collection 2LC if contains entity added in tx

(cherry picked from commit 4851ab01dfc2c58c19bf08a68854593923907716)
HHH-9231 : Uncommitted data can remain in transactional collection cache after rollback if collection is initialized after flush

(cherry picked from commit f9a49efd179f2c644674f9872d57a45f11a1dca3)
HHH-8683 Class org.hibernate.engine.spi.EntityEntry consumes lots of memory
HHH-8683 Adding test for setting/getting attributes in compressed state int
HHH-8683 Caching enum constants to avoid memory allocation by repeated calls to getEnumConstants()
HHH-8683 Making EnumState a parameterized class, thus allowing to access its value more safely