test: thread: add self-deletion to api case

Also known as the suicide case. This provokes a kernel panic because the
deleted thread remains current when it shouldn't.
thread: handle self-deletion in ThreadControl

It's exactly as regular deletion, but causes the syscall to return to the
scheduler using a special NLE path which doesn't dereference the current
thread. That's necessary because said thread's structure has been returned to
the slab already.