thread.*: changed how thread is moved to a blocked list. Should make more sense now.
semaphore.c: thread is now added to the list in thread.c instead of here