Don't call ctx.term in gc after at exit events have fired

Python 3.4 can no longer be trusted to preserve the garbage collection order during process exit.

and move del logic to sugar classes, so I don't keep repeating myself.
fix one more incorrect Py_ssize_t

in Socket(shadow)
Merge pull request #539 from minrk/term-atexit

Don't call ctx.term in gc after at exit events have fired