Use base provider interface class
Store provider instances against interface type.
Use more generic token structure.
Return a tuple for flask_oauth.
Merge pull request #44 from pretenders/44/alex

Make changes following code review