Ok, it makes sense. As Aexpect.ShellSession provides a auto_close to handle the similar issue, I think we can add a param named "auto_recover=False" into ```__init__```.
And then, if user pass auto_recover=True to init we will call conn_finish() in ```__del__```, otherwise,
let user call it manully before connection instance destroyed.

What about it?