I've committed the hybrid store including jpa store implementations. It's enabled
by default for the testsuite and the server, using jpa for realms and users, and mem for
sessions.
By default the JPA stores all use the same persistence-unit, but it's possible to
split into multiple persistence-units and configure through keycloak-server.json if
someone wants to for example store realms in one db and users in another.
Remaining work includes:
* Mongo stores
* Updates to Keycloak session - remove model methods and add an enlist transaction feature
for providers
* EntityManager and Mongo connection providers - I'm going to add providers for
retrieving EntityManager instances and Mongo clients. The main reason for this is so that
multiple stores can share the same connection/transaction when possible
* Delete JPA and Mongo model providers
* Update tests