Fix roots_rational

The algorithm was completely wrong.  Apparently, this is not actually used
anywhere.
Use primitive instead of clear_denoms in roots_rational
Add option to return only integer roots from roots_rational
Delete roots_rational

This function is a very inefficient way to find the rational roots of a
polynomial.  For example, if you have Poly(Mul(*[(x - i) for i in
range(100)])) (i.e., x*(x - 1)*(x - 2)* ... *(x - 99)), then there are
divisor_count(factorial(99)) == 35148882404966400 possible roots to check.  On
the other hand, solve() (which uses Poly.real_roots()) can find all 100 roots
in about a second.

The good news is that this function was not actually used anywhere.
Merge pull request #1753 from asmeurer/roots_rational

Delete roots_rational