Not sure if we want this to be part of __init__() because it's only usable once.  Alternatives:
* parameter on send_request()
* Make people set BaseClient.otp = otp manually after any request.
* Make sure that session_id is used in preference to username + password + otp

I think the latter two may be the best.  We should also add a docstring about the otp attribute if we do it this way.  We also probably have to clear the session_id from disk more often if we do it that way.

(load session_id, clear from disk.  Try the request.  Only if request succeeds, write the new session_id to disk.)