Changed calcRationalRoots() so it detects '0' roots.
Changed calcExtrema() so it uses the 1st Derivative test if the 2nd Derivative test is inconclusive.
Changed calcExtrema() so it won't return duplicate extrema.
Changed Monomial and FractionMonomial so exponents are ints.