Tons of refactoring. Implemented an abstract Sort class and an individual sort class for each type of sort which inherits from the abstract class to eliminate duplicate code and make the program much cleaner (this removed tons of unnecessary logic from the Graph class). Committing now before I blow everything up while refactoring the rest of the Graph class...