Added Token model to store independent tokens for users and a set_token method on user to generate a token