Merge pull request #25 from gradyrw/master

Riemann Theta bug fix. Closes #25.
Significant speedups to puiseux.

In _new_polynomial() we construct the new polynomial using a dict
of coefficients and degrees. Explicity stating the new gens and
domain greatly improves function performance.

In build_series() we no longer expand but, instead, simplify.
Simplify seems to perform much faster and doesn't "lose data".
For example, expanding and then asking for leadterm(x) takes
about 500 times longer than just requesting the leadterm() of
the non-expanded function.
Fix integral basis.

There were all sorts of issues with integral basis, most of
which stemed from achieving speed improvements.
Add ".profile" to .gitignore.
Monodromy checkpoint.

Initial path construction and initial monodromy computations
seem to work. Attention needed towards performance.
Interpolating point generation seems to be efficient but
interpolation is slow. Possible casting / re-casting issues?
Monodromy.

Monodromy appears complete but is without extensive testing.
Seems difficult to test alone so we will continue to
homotopy.
Checkpoint for resolving monodromy caching error.

The intermediate function _construct_monodromy_tree() is
misbehaving. Not sure what is going on but will investigate
later.
Merge pull request #26 from gradyrw/master

Loopified integer points
Initial version of homology. Untested.
Merge branch 'master' of github.com:cswiercz/abelfunctions
Added framework for RiemannSurface class.
Changed Permutation object to start with 0. Fixed issue with
correctly computing branch point conjugates due to indexing
problems.
Added monodromy.Monodromy.hurwitz_system().

This function is used to compute the Hurwitz system
associated with the monodromy group. The output of this
function is the input to homology.tretkoff_table.
Fixed bug in computing vertex types as well as computing
the monodromy position tree.

In mondoromy.py, 'v-point nodes' were misidentified.
Additionally, the position tree of the nodes was
incorrectly computed due to bugs in handling v-point
nodes.
Deleted autogenerated Cython output from tracking.

it is unnecessary to track autogenerated files so we
delete it for cleanliness.
Removed inappropriate debug print statement.
Additional bug fixes to monodromy.
Fix bug in computing singularities of algebraic curves.

There are several levels of bugs involved in computing
singularities of algebraic curves. First, cacheing was
preventing puiseux from returning non-empty "pis" output.
Then, valuation had incorrect output due to the wrong
combination of simplify, expand, and collect statements.
Delete commented out debug statement from singularities.
Added genus() to singularities.py. (Untested.)

We can now compute the genus of an algebraic curve using
the delta invariants of its singularities. This function is
untested at the moment.