Fixed domain conversions in Poly.eval() (#3245)

In [1]: var('alpha,l')
Out[1]: (α, l)

In [2]: A = Matrix([[-alpha*x**2 + x - y], [-alpha*y - x*y + x]])

In [3]: f = A.jacobian([x, y]).subs({x: 0, y: 0}).charpoly()

In [4]: f.eval((z + 1)/(z - 1))
Out[4]:
               2
2⋅α⋅z - 2⋅α + z  + 3
────────────────────
     2
    z  - 2⋅z + 1

In [5]: f.as_expr(l).subs(l, (z + 1)/(z - 1)).cancel()
Out[5]:
               2
2⋅α⋅z - 2⋅α + z  + 3
────────────────────
     2
    z  - 2⋅z + 1
Merge pull request #1815 from mattpap/issue_3245-poly-eval

Fixed domain conversions in Poly.eval() (#3245)