Improved lcm, gcd functions and unit test
An example of how to do comparison tests for a few implementations of a function

Here is a dramatic speed improvement to switching away from using
Fractions to implement a n chose k function.
Adding in the new faster nCk