Handle expired tokens by refetching token with credentials.

Like our other api clients, we need this client to refresh tokens
transparently.  The credentials that were used to request the original
access token will be reused whenever a 401 is returned for an expired
token.  This will allow the client to be used for a long period of time
without worrying about token expiration.