Defines the Hibernate second level caching SPI.

The initial contract here is {@link org.hibernate.cache.spi.RegionFactory} whose implementations are responsible for configuring and managing lifecycle operations in regards to the particular underlying caching library. Its other main purpose is to build specializations {@link org.hibernate.cache.spi.Region} instances based on the type of data we will be storing in that given region.