core/sched fixup and optimize

* fix some broken misuse of variables (mixing `tcb_t` and `pid_t`)
* fix condition logic (`X && Y != Y` -> `X && (Y != Y)`)
* fix setting and use of `thread_active_pid`, includes optimizations
* refactor `SCHEDSTATISTICS` to make it faster
* remove stale TODO and double spaces
* update documentation with regard to `last_pid`/`thread_getlastpid` availability
Why is this variable volatile? Doesn't make sense.