Trac #12827: Expand Animation class to accept more graphics types

Currently the `Animation` class only animates `Graphics` objects, and
throws an error for `Graphics3d`, `GraphicsArray`, and `Tachyon`
objects.  The behavior of this class should be improved to accept any
Sage object whose `save` method produces an image.

See this [https://groups.google.com/forum/?fromgroups#!topic/sage-
devel/9TzVOj70ADU sage-devel] thread for the beginning of this
discussion, including some discussion of possible solutions.

URL: http://trac.sagemath.org/12827
Reported by: niles
Ticket author(s): Niles Johnson
Reviewer(s): John Palmieri
Trac #15604: pynac and polybori shouldn't be dependencies of csage

The `pb_wrap.h` and `ginac_wrap.h` headers should really belong in the
sage library, since csage doesn't include them.

URL: http://trac.sagemath.org/15604
Reported by: ohanar
Ticket author(s): R. Andrew Ohana
Reviewer(s): Jeroen Demeyer
Trac #15567: Fix Alphabet and improvements to Family

Currently `Alphabet(oo, 'x')` returns `None`. This fixes that, along
with some other improvements so that `Alphabet(NN, 'x')` also works as
expected. This also uses the `name` argument in `(Lazy)Family` to
override the name of the function for cleaner print statements.

URL: http://trac.sagemath.org/15567
Reported by: tscrim
Ticket author(s): Travis Scrimshaw
Reviewer(s): Nathann Cohen
Trac #11985: lcalc is too verbose (mysterious "Warning: new stack size")

I tried one simple example "by hand" that actually *uses* lcalc, and was
not pleased by what happened:
{{{
sage: E = EllipticCurve('37a')
sage: L = E.lseries()
sage: L.zeros(10)
  ***   Warning: new stack size = 1030944 (0.983 Mbytes).
[0.000000000, 5.00317001, 6.87039122, 8.01433081, 9.93309835,
10.7751382, 11.7573247, 12.9583864, 15.6038579, 16.1920174]
sage: L.zeros(10)
  ***   Warning: new stack size = 1030944 (0.983 Mbytes).
[0.000000000, 5.00317001, 6.87039122, 8.01433081, 9.93309835,
10.7751382, 11.7573247, 12.9583864, 15.6038579, 16.1920174]
}}}
Basically, every time you use lcalc to do anything with elliptic curve
L-series, you get some mysterious warning (of course, really output from
PARI).   However, the problem has been in released Sage for a long time.
It was in sage-4.7.

URL: http://trac.sagemath.org/11985
Reported by: was
Ticket author(s): Jeroen Demeyer
Reviewer(s): Travis Scrimshaw
Trac #15740: Better support for root systems which do not come from a Cartan type

{{{
sage: d = DynkinDiagram()
sage: d.add_edge(1,2,3)
sage: d.add_edge(2,3)
sage: d.add_edge(3,4,3)
sage: d.cartan_matrix()
[ 2 -1  0  0]
[-3  2 -1  0]
[ 0 -1  2 -1]
[ 0  0 -3  2]
sage: Q = d.root_system().root_lattice()
sage: Q
Root lattice of the Root system of type Dynkin diagram of rank 4
sage: al = Q.simple_roots()
sage: al[1].reflection(al[2]) # Boom
}}}

URL: http://trac.sagemath.org/15740
Reported by: tscrim
Ticket author(s): Travis Scrimshaw
Reviewer(s): Frédéric Chapoton
Trac #15664: Bug in IncidenceStructure.is_block_design

This bug has been noticed by Frederic in #15285 :

{{{
sage:
IncidenceStructure([0,1,2],[[0,1],[0,2],[1,2]]*15).is_block_design()
(True, [1, 3, 2, 15])
sage: IncidenceStructure([0,1,2],[[0,1],[0,2],[1,2]]*15).parameters()
(2, 3, 2, 15)
}}}

Turns out that the code of `is_block_design` was rather unclear, and
rather... Costly. Here is a simpler, faster and more correct version in
which the bug in solved.

Before:
{{{
sage: D =
IncidenceStructure(range(44),designs.steiner_quadruple_system(44))
sage: time D.is_block_design()
CPU times: user 99.26 s, sys: 0.06 s, total: 99.32 s
Wall time: 99.40 s
(True, [3, 44, 4, 1])
}}}

After:
{{{
sage: D =
IncidenceStructure(range(44),designs.steiner_quadruple_system(44))
sage: time D.is_block_design()
CPU times: user 0.06 s, sys: 0.00 s, total: 0.06 s
Wall time: 0.06 s
(True, [3, 44, 4, 1])
}}}

Secondly, `IncidenceStructure.parameter` has a very tricky behaviour :
{{{
sage: D =
IncidenceStructure(range(44),designs.steiner_quadruple_system(44))
sage: D.is_block_design()
(True, [3, 44, 4, 1])
sage: D.parameters()
(2, 44, 4, 21)
}}}

This is because `parameters()` take `t` as a parameter, and sets it to
`2` by default. That's.... surprising `:-P`

This patch adds a deprecation warning when this parameter is not set,
and we will make it mandatory... in a while.

Here it is !

Nathann

(this ticket took roughly 3hours of solid work)

URL: http://trac.sagemath.org/15664
Reported by: ncohen
Ticket author(s): Nathann Cohen
Reviewer(s): Frédéric Chapoton