Refactoring of Authentication SPI and Picketlink to use ProviderSessions

Refactoring of ProviderSessionFactory to support dependencies between components
Calling lifecycle methods init(), close() at proper times
Removing KeycloakRegistry