Split token management and Redis management functionalities

It made no sense to have a 'TokenManagement' that managed token
generation and Redis management. So now we have several classes
that do this work better.