Support auth param string for Basic authentication (#15)

* Support auth param string for Basic authentication

### Motivation

https://github.com/apache/pulsar/pull/17482 supported basic
authentication for Python client, but the `AuthenticationBasic` class
accepts two positional arguments as the username and password. It's not
good for extension. We should accept an auth param string like
`AuthenticationOauth2` so that no changes are needed if the upstream C++
client's implementation changed, like
https://github.com/apache/pulsar-client-cpp/pull/37.

### Modifications

To be compatible with the existing API, change the first two arguments
to keyword arguments. Then, add the 3rd keyword argument to represent
the auth param string.

### Verifications

`test_basic_auth` and `test_invalid_basic_auth` are extended for this
change.

* Add method argument and related tests

* Add type check for method arg
3 files changed