Mark connections in pool as closed to prevent reuse

Needs further discussion

Example Script 

```python
from sqlalchemy import *
engine = create_engine("exa+pyodbc://", pool_size=1)
con = engine.connect()
print con.execute("select 1").fetchall()
con.close()
# in exaplusgui
# select * from exa_all_sessions;
# kill session XXXX;
raw_input("Kill session in exaplus and Press button to continue")
con = engine.connect()
try:
    print con.execute("select 1").fetchall()
except Exception as e:
    #[40004] [EXASOL][EXASolution driver]Connection lost.
    print e
finally:
    con.close()
con = engine.connect()
print con.execute("select 1").fetchall()
#[HY000] [EXASOL][EXASolution driver]Socket closed by peer
````
I will pull in EXASOL to clarify if there is a set of error codes to check for. Checking for existence of substrings like:

>  [ "[HY000]",
>    "[40004]",[

seems a lot safer