polys: Improved conversions between rational functions and polynomials
polys: Fixed definition of __hash__ in ProductOrder
polys: Unify QQ[x] with ZZ(x) to ZZ(x) and allow appropriate conversions
polys: Optimizations to rational function arithmetics

Before:

In [1]: from sympy.polys.benchmarks.bench_solvers import *

In [2]: %time time_solve_lin_sys_189x49()
CPU times: user 12.75 s, sys: 0.02 s, total: 12.76 s
Wall time: 12.74 s

Now:

In [1]: from sympy.polys.benchmarks.bench_solvers import *

In [2]: %timeit time_solve_lin_sys_189x49()
1 loops, best of 3: 897 ms per loop