GCD and Factorial methods using Tail Recursion implementation.