Fixing access_token handling in gmail account imap backend. Cleaning up code

Tokens were previously held in a global variable __volatile_tokens__, which was not functional since the functions that accessed it did not declare the global variable up front. I fixed this by removing __volatile_tokens__ completely and replacing it with 2 instance variables _access_token and _token_expiry. I consolidated the functions that managed the accoun tokens into a single function call and wrote tests verifying that it works (tests/backends/*)