Improve naive point counting and implement zeta_function.
Merge branch 'ticket/15148' into ticket/11980
Merge remote-tracking branch 'trac/develop' into ticket/11980
Merge branch 'ticket/15148' into ticket/11980
Merge remote-tracking branch 'trac/develop' into ticket/11980
Merge remote-tracking branch 'trac/develop' into ticket/11980
Merge branch 'u/jpflori/ticket/11980' of ssh://trac.sagemath.org:22/sage into 11980
trac #11980 minor doc changes + a little code formatting and pyflakes check
Trac #11980: Improve naive point counting and implement zeta_function for hyperelliptic curves over finite fields

The following is not implemented (but can be done for hyperelliptic
curves):

{{{
sage: P.<x> = PolynomialRing(GF(9,'a'))
sage: H = HyperellipticCurve(x^5+x^2+1)
sage: H.count_points(5)
Traceback (most recent call last)
...
NotImplementedError: Point counting only implemented for schemes over
prime fields
}}}
Also, having a `count_points` for all cases, the Frobenius polynomial
can be calculated. At the moment, this is calculated via
`frobenius_matrix`, which is not always available:
{{{
sage: R.<t> = PolynomialRing(GF(8, 'a'))
sage: H = HyperellipticCurve(t^5 + t + 2, t + 1)
sage: H.frobenius_polynomial()
Traceback (most recent call last):
...
NotImplementedError: only implemented for curves y^2 = f(x)
}}}

Further, the zeta function can be calculated easily when the Frobenius
polynomial is known.

Use git branch.

URL: http://trac.sagemath.org/11980
Reported by: dkrenn
Ticket author(s): Daniel Krenn, Jean-Pierre Flori
Reviewer(s): Marco Streng, Volker Braun