Big refactor, add Request and Response classes, simplify oAuth
Use athlete data from access token if it exists
Refactor exceptions, add cache stub
Finish caching implementation
Fix access token request not sending
Add resource state constants