memory leak fixed, circular dependency between cursor <-> connection

Memory leak fixed, circular dependency between cursor <-> connection prevented both from being deleted, GC doesn't work for objects with __del__

Following trivial script shows the problem:
```
import pytds
import guppy

hpy = guppy.hpy()

def test():
    with pytds.connect(...) as connection:
        with connection.cursor() as cursor:
            cursor.execute('select count(*) from SomeTable')
            cursor.fetchall()

while True:
    for i in range(100):
        test()
    print hpy.heap()
```