Threads starting better threads should stay at top.

This wasn't correct, I think I must've added it because something else
should've been rescheduling.
Update tests.
Merge pull request #1764 from unknownbrackets/thread-funcs

Scheduling fix and test update