Checkpoint
Improve Puiseux and discriminant point performance.

Puiseux series calculations at discriminant points were
taking far too long. Imrpoving the way discriminant
points were calculated as well as the way Puiseux handled
symbolic expressions produced a 90% performance improvement
in tested cases.

In particular, coercion between sympy.Expr and sympy.Poly
objects was kept at a minimum and sympy.RootOf constructs
are used in place of complicated and long combinations of
square roots and complex numbers.