MAJOR: Some logic inside node remove changed significantly using active
nodes list from Columnstore.xml to broadcast config after remove.
[fix] TransactionManager passsing extra, remove and optional nodes arguments to start_transaction function
[fix] commit and rollback methods of TransactionManager adding nodes argument
[fix] TransactionManager using success_txn_nodes inside
[fix] remove node logic to use Transaction manager
[fix] cluster set api key call using totp on a top level cli call
[add] missed docstrings
[fix] cluster shutdown timeout for next release
[add] managers/certificate.py with CertificateManger class
[mv] creating self-signed certificate logic into CertificateManger class
[add] renew and days_before_expire methods to CertificateManger class
[mv] several certificate dependent constants to managers/certificate.py
[add] CherryPy BackgroundTask to invoke certificate check hourly (3600 secs)
[fix] tests
[fix] bug with txn timer clean (clean_txn_by_timeout, worker and invoking of it)