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.
Should we wrap up removing the original login method and changing login2 to just login? I suppose it doesn't make a big diff but we might as well throw it in here if there are no complaints.