Added (Hopefully) tests to selfTest()

Testing added to see what happens if a thread is joined before it starts and what happens when a thread is joined after it is finished running.