Accept Session class to be provided by module

Hi, I made this PR (as the title says) in order to let Session class to be provided by a module, configured in config.php. 

The thing is, I have a rather complicated case where the validity of a session depends not only if its present, and if expired or not... 

Just in case someone's interested, I will explain why I need this.

I have a nightmare scenario in my organization, where I have multiple users, trying to login to multiple applications, and depending on the role the user has in the app, it connects with a specific access level.

A user has a password per access level. Each access level defines how paranoid a password should be. 

This means, if a user has an admin role in a critic application, his access level should be the most paranoid.

All applications a user has in the same access level should have SSO between them, but not shared with other apps.

So I really need to create my own Session class where I can check all this things, and save data per access level... see who is connecting to what app, get the desired access level, and if already logedIn in that specific access level then return to app.. else show the login page.

Cheers.