1890: quartic: send Poly and raise error for some symbolic quartics

In the Euler function for computing quartics, a raw Expr was being sent
to roots and that raises an error if the equations is not univariate;
this is circumvented by sending a Poly in x.

If p is not known to be zero and is not a number, then an error is
raised since the result depends on whether p is zero or not.
Merge pull request #1966 from smichr/1890

1890: quartic: send Poly and raise error for some symbolic quartics