Sounds good.

@squirrelo, @josenavas and @adamrp , how does this look for managing the cursors? db below is an instance of the greengenes database (which doesn't here, just needed a ``connect`` instance to play with), but doesn't matter right now. What's cool is that ``foo`` (ie, the ``execute*`` methods here) creates a cursor, does something and then yields it. What's awesome is that the yielded cursor can than handle calls to whatever fetch method, and is automatically closed once you leave the context.

```python
15:18:13 (mcdonadt@Daniels-MacBook-Pro-2):/Users/mcdonadt
> @contextmanager
def foo(sql):
    with db.con.cursor() as cur:
        cur.execute(sql)
        yield cur
   ....:

15:18:22 (mcdonadt@Daniels-MacBook-Pro-2):/Users/mcdonadt
> with foo("select count(1) from record") as c:
    print c.fetchall()
   ....:
[(36L,)]
15:18:24 (mcdonadt@Daniels-MacBook-Pro-2):/Users/mcdonadt
> c
Out[18]: <cursor object at 0x107f8c050; closed: -1>
```