Added factorial algorithms and changed GreatestCommonDivisor class methods to be static