in ``roots_cubic`` simpler solution of ``x**3 + q = 0``
added ``_try_rescale`` in ``roots``

```
>>> 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
call ``roots`` after ``_try_rescale``
added test
added _try_rescale to roots; added example
call ``_try_decompose`` if ``_try_translate`` fails
fixed bugs in ``roots``
refactored code in ``roots`` to ``to_rational_coeffs``
Added ``_torational_factor_list``
restrict ``to_rational_coeffs`` to transform only polynomials without
roots larger than 2.

Added tests.
fixed docstring format
2887: Fix bug with minpoly()

Make sure multinomials are expanded.
First, this is important for following the right code path.
Second, this ensures that mapping.values() is actually a list of polynomials (otherwise it could contain roots).
Merge pull request #2006 from pernici/cubic

Cubic
Merge pull request #2028 from katjasophie/2887_minpoly

2887: Fix bug with minpoly()
Add Katja Sophie Hotz to AUTHORS/aboutus. Welcome to SymPy!
replace cse 1*-1*foo detection with working version
fix wester test
3594:factor should return unhandled expr unchanged