Changed sema_down to insert into waiting list in proper order. sema_up now correctly puts the highest priority thread into ready_list.
Created priority insert functions used in thread.c and synch.c. Also, fixed thread_unblock to correctly awaken the maximum priority thread from ready list.
Made some minor changes to timer_interrupt. Currently all timer tests are passing except for alarm simultaneous. priority-sema is also passing