Converted AccessTokens to use new structure

- AccessTokens now have an Interface and AbstractToken to inherit from
and implement
- ProviderInterface (and of course Providers) expect tokens derived
from AbstractToken
- This allows me to more easily make my own Tokens that support things
like OpenID Tokens that I make via custom Grants (that implement the
GrantInterface).