test_gc: move test_circular_greenlet under GREENLET_USE_GC

Since __dict__ now comes from greenlet and not from subclasses
this test fails when GREENLET_USE_GC is 0, since then __dict__
is not traversed anymore.
green_dealloc: don't use trashcan on non-GC'ible greenlets

There's an assert in Python's object.c that checks trashcan
is only used for garbage collectible objects. Since not all
greenlets are garbage collectible trashcan use must be
conditional.