Started work on the YAML parser.

So as not to disturb the stable upstream, I'll be modifying the grader on the "yaml" branch. It shouldn't take too long to complete, and I'll also add in more features (I kinda have to in order to get the flexible YAML parsing to work). It won't be runnable for some time, which is the crux of the reason of making this new branch.
Fixed a potential synchronicity issue.

So if a thread is waiting and it is interrupted, it may be possible for the printing thread to still be printing. While this error should be completely unrecoverable, it is possible to recover from being interrupted, in which case, we need that printer to know that it should not add anything to the messanger queue, and potential derail any subsequent checks who pull from the queue prematurely. I think killing the printing thread may be the only true solution, though that is not an option
using the current ExecutorService.
Committing current updates
Added interfaces for sending generated input and arguments to the running process.

This solves the problem of "how to automatically generate port numbers" for processes that take them through input or arguments. It also solves any other Turing reducible problem to this problem ;D.
Completed the scoring script, argument generator, and input generator parameters for testCommand.

I have no idea if the simultaneous script will work correctly, but the input and argument generator should be fine. On to completing GradeGenerator.
Completed the second version of the grading script generator

I tested it with a configuration file for lab3, and it seemed to have worked just fine. I'll take a look over the more advanced features later, but for now, this is good.