Making Checks.java less bulky

Checks.java is a monster. It's not a god class because all the functions it performs are closely related, and it doesn't have that many functions. However, those functions are massive and are slowly becoming intractable. Thus, I'm rewritting them for both extensibility (for when I decide to make a grading script generator) as well as readability. The bulk of their definition is, unfortunately, proper error handling, but the logic for executing the functions and interpreting the results should be better.