Dealing with expired token

When a token comes back expired, rather than generating a 500, this tries the API connection again after discarding the token.

I'm still pull-requesting this because I could use an outside opinion on this. :)