Patched _safe_fetch to ensure a list of tuples is returned.
When MSSQL is used via pyodbc, Cursor.fetchall() returns a list of pyodbc.Row instances.  This just casts the rows as tuples so they don't give a TypeError in DataFrame.from_records.
