Move ident generator into Identity class.

Since identity generator must be timezone aware, the generator need
to access the timezone data stored in registry.settings. This require
us to access get_current_registry from model, which is not recommended.

Turning _generate_ident into Identity class allow us to initialize and
configure the identity generator independently. The identity generator
is now initialized globally and timezone is retrived and configured in
main() instead of inside a request.
Update test case for the new identity model, explicit passing redis_conn.
Merge branch 'feature/drop-get-current' into develop
Drop zope.interface usage as we no longer use traversal.