Single Access Token per User/Client/Scope combination

My project has a requirement that only one access_token be created for every user/client/scope combination, so that we don't have unnecessary "active" access_tokens lying around.  When the token expires, then the usual action of refreshing it will still work.  When a "new" access_token for a given user/client/scope combination is requested, then the existing active access_token will be returned instead of creating a new one.

Disclaimer: I haven't used django-oauth2-provider extensively yet, so I may have missed some details in implementing what I needed.  Please feel free to rip it to shreds if you see anything wrong :wink: