Improve dialog handling: Drastically reduce latancy.
+ Make FinTSDialog re-entrant: Entering the context multiple times will only init()/end() at the outermost layer
+ Turn FinTSClient into a context manager. Entering it will start a dialog that will be kept open, no need to repeatedly start/end dialogues
Example:
````
f = FinTS3PinTanClient(...)
with f:
accounts = f.get_sepa_accounts()
balance = f.get_balance(accounts[0])
statement = f.get_statement(accounts[0])
````