Fix: preventing error when no db engine

When unable to initialize a database engine (for example it is not
configured) - the system will not cause an error. The system will throw
an exception when trying to use the database instead.
Allowed session regeneration

Added an optional parameter to Session:Start to cause Session
Regeneration.
AccessControl improvements

- Will always regeneration session. This means that the cookie used when
not authenticated will not be the same when authenticated.
- Open will no loger return the role of the user, use the new method
AccessControl::UserInfo instead.