Enable retrying on idempotent verbs

  Add handling for ssl.SSLError, emitted when SSL timeouts, and socket.timeout
Add EmptyRepositoryException
Add author and since url_params to Repostiory.get_commits