Add Connection.tables method and tests
Change Connection.execute return type

Connection.execute now only returns a cursor object on SELECT queries.
For all other queries (INSERT, UPDATE, DELETE, etc) it returns
cursor.rowcount, the number of rows inserted, updated, deleted, etc.
Add Connection.columns method and tests