If Infojobs permits either Basic HTTP Auth or OAuth2 auth, the constructor needs to allow choosing one of them.

The way it's coded, the user has to provide the client ID and secret (the parameters are obligatory). If they provide the token as well, *both* Basic Auth and OAuth headers will be sent (actually, OAuth will win, because they both set the Authorization header, but that's ugly).

I'd suggest to make all parameters optional and default to `None` and raise an exception if not enough params are specified.