Fixed the implementation of the join method in KThread to handle multiple threads being able to do a join at the same time as is supposed to happen. Also added some testing in the selfTest method of KThread.