Refactor Token Resource

The Authentication resource was really a token resource and was big and messy.  Refactored the name and extracted the buisness logic for the tokens to a service.