Added allocation for MLFQ in init_scheduler().
Miscellaneous changes toward implementing MLFQ.  Added global mlfq array of node_t pointers, which is initialized in init_scheduler.  Began modifying logic to consider the possibility that ready_queue is NOT the queue we should address.  Added a queue arg to insert_node_into_ready_queue to make it more general--same thing with the pop and pop_no_dealloc functions.
MLFQ additions; still need logic for knowing which queue to run
merge master to mlfq
Removed some commented out code that we deprecated with a more general function for inserting nodes into the queue(s).
Implemented some logic for mlfq.  Misc. changes to makefile to make debugging more straightforward.  Currently does not pass tests.
Updated Makefile and other things.  Testing mlfq to make it right.
Fixed segfaults, now debugging test output for input_3 when run under mlfq.
Fixed memory bug with mlfq where we were not nullifying node->next as we added them to the front of empty lower-priority queues from higher-priority queues.  Tests now succeed for mlfq on test input_3.
Cleaned up makefile.  Changed executable name to 'p1'.
Cleaned up Makefile for final submission.
Fixed round-robin behavior where threads would fail to reinsert themselves correctly at the end of the last queue level if they still had time remaining.
New test input (input_4, input_5) to ensure that round robin works correctly.  These could also be considered a stress test, as the threads run for much longer than in the instructor-provided cases.
Fixed misc. warnings from unsafe debug print function.  Fixed merge conflict for Makefile.