Cubic

added ``_try_rescale``  and ``_try_translate`` in ``roots`` to attempt transforming an algebraic equation
not on rationals to one on rationals

Example:

```
>>> from sympy import *
>>> from sympy.abc import x
>>> eq = expand(((x**2-1)*(x-2)).subs({x:x*(1+sqrt(2))}))
>>> solve(eq, x)
[-2 + 2*sqrt(2), -1 + sqrt(2), -sqrt(2) + 1]
>>> count_ops(_)
10
```
while in master ``count_ops`` gives 732