slp_kill_tasks_with_stacks is broken #81

Description
Originally reported by: Anselm Kruis (Bitbucket: akruis, GitHub: akruis)
Problem
Since commit 2b9cd7d84dfd6e2 slp_kill_tasks_with_stacks pretends to send a kill message to tasklets on other threads. But the second loop is dead code, because it can't be reached.
Since commit 49d9f07ce726 slp_kill_tasks_with_stacks ignores its argument and operates on the current thread only.
During shutdown Py_Finalize() indirectly invokes slp_kill_tasks_with_stacks at least two times:
- with a NULL argument via PyStackless_kill_tasks_with_stacks(1). At this time, the interpreter is still fully functional.
- Once for each thread-state via PyInterpreterState_Clear(interp) and PyThreadState_Clear(). During these calls the import mechanism is no longer functional.
Because slp_kill_tasks_with_stacks ignores its argument, only the first call has any effect. Stackless dosn't kill any tasklets on other (daemon) threads.
Test Case
It's fairly hard to write a test case for problems, occurring late during interpreter shutdown. AFAIK the only option is to use a del-method of an object, that gets cleared sufficiently late. The codec search path, which is stored in the interpreter state, is such an object. PyInterpreterState_Clear clears it immediately after the threads.
My plan is to add a test-case, that ensures, that stackless kills all tasklets. Then I'll fix slp_kill_tasks_with_stacks.