Checkpoint.
Add Puiseux extension to given point.

PuiseuxTSeries.extend_to_t() will in-place compute the
number of terms needed for the Puiseux series to approximate
the curve at a provided t-value to a given accuracy. (With
a default of 1e-8.) This is especially useful for Puiseux-
based analytic continuators.
Checkpoint: pre-discriminant points refactor.
Resolved pre-initialization RSP bug.

There was a bug where RSPs and ACs were trying to call
the PathFactory object before it was fully initialized.
This bug is now resolved.
Checkpoint.
Add Puiseux extension to given point.

PuiseuxTSeries.extend_to_t() will in-place compute the
number of terms needed for the Puiseux series to approximate
the curve at a provided t-value to a given accuracy. (With
a default of 1e-8.) This is especially useful for Puiseux-
based analytic continuators.
Checkpoint: pre-discriminant points refactor.
Resolved pre-initialization RSP bug.

There was a bug where RSPs and ACs were trying to call
the PathFactory object before it was fully initialized.
This bug is now resolved.
Merge branch 'abel' of github.com:cswiercz/abelfunctions into abel
Initial stub for infinite Riemann surface paths.
[#51] Finite discriminant paths seem to work.

A path to a discriminant place seems to work. Only
preliminary tests have been done because of Puiseux
performance issues. In particular, computing Puiseux
series of places at an x-point where the symbolic expression
contains a lot of terms.

Here's an example where it works:

    import abelfunctions as ab
    from sympy.abc import x,y
    f = -x**7 + 2*x**3*y + y**3
    X = ab.RiemannSurface(f,x,y)
    b = X.discriminant_points(exact=True)
    a = b[3]              # the disc point at x=a
    places = X(a)         # there are two places at x=a
    gamma = X.path(P[1])  # P[1] is 2-ramified

However, a different choice of x=a causes the path
construction to hang.
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.
Allow for numerical puiseux types.

Underlying Puiseux series data can now be (cleanly)
coerced to numerical types for performance.
Checkpoint. (Major changes. Almost there.)
Removed the use of RootOf constructs in Puiseux.
Localization of differentials works.

We can now correctly, stably, and quickly compute localizations of
differentials at places. The instability was caused by the division of
large magnitude numbers. Therefore, a Taylor series expansion of the
differential centered at a place is computed.

What remains is the addition of a new path type for going to
discriminant places. In order to make the mathematics cleaner for
integration of holomorphic differentials it may be beneficial to use a
path determined by the x-part of the target place.
Preliminary commit of AbelMap.

Some final investigation needs to be performed on integration to
discriminant places. Also, there should probably be a separate
RiemannSurfacePath type for paths to discriminant places.
Implement Abel Map.

RiemannSurfacePaths and AnalyticContinuators to discriminant
places are implemented. Integration of paths is handled by
AnalyticContinuators since the strategy decision for
integration is the same as the strategy decision for
evaluation.

An AbelMap_Function class is created with a preliminary
implementation of the map. Additional (minor) work needs
to be done to allow for arbitrary starting places.