core: split TCB from stack

This eliminates problems like #1267 and is architectural easier to
understand.

Part of my ongoing idea to "abandon numeric PIDs" (#1004).