Destroy threads after fork

After calling `os.fork()`, threads except the current thread will not exist in child process.  However, the gevent monkey-patched `threading` and `thread` modules do not follow that rule: all the threads are still running in child.  That causes some threaded applications behave unexpectedly after monkey patch.

This patch will kill all greenlets started using `threading` or `thread` after fork in child process.  Since greenlets can not be destroyed silently, `.kill` method is used to raise `GreenletExit` exception in them to stop the threads.