Request a new access token from the authorization endpoint.
On success, it will call {@link #setFromTokenResponse(TokenResponse)}, call {@link CredentialRefreshListener#onTokenResponse} with the token response, and return{@code true}. On error, it will call {@link #setAccessToken(String)} and{@link #setExpiresInSeconds(Long)} with {@code null}, call {@link CredentialRefreshListener#onTokenErrorResponse} with the token error response, andreturn {@code false}. If a 4xx error is encountered while refreshing the token, {@link TokenResponseException} is thrown.
@return whether a new access token was successfully retrieved