Fixed KThread.selfTest so that the master thread properly yields and all
threads execute properly.
Completed part A and B of logfile: logging when threads are scheduled
and on thread completion.
Added method to print out statistic after all threads have run (part 3
of part D).
Added write out final scheduler state before terminate.