minimal fix to restore functionality
Merge branch 'develop' into ticket/16533-stopgap
graphics_filename: return a tmp_filename() if not in EMBEDDED_MODE
Fixed _indefinite_factorization() for immutable matrix over fields.
Restore possibly positional arguments.

Users might theoretically be passing these arguments by position, not by
keyword, in which case incorporating them into a keyword argument dictionary
will break backwards compatibility.  Let's not do that until after we have
deprecated them for some time, which this change does not yet do either.
Trac #15515: Change graphics_filename() to return a tmp_filename() except from the notebook

The function `graphics_filename()` in `sage/misc/temporary_file.py` was
created for the notebook. When used in other places, it is unsafe (race
condition + creates predicatable filenames) and can clutter the current
working directory with files. Therefore, we should use `tmp_filename()`
in `graphics_filename()` except when `EMBEDDED_MODE` is `True`. This
also simplifies the logic in various `show()` methods.

URL: http://trac.sagemath.org/15515
Reported by: jdemeyer
Ticket author(s): Jeroen Demeyer
Reviewer(s): Martin von Gagern
Trac #16633: indefinite factorization changes an immutable matrix

In 6.3.beta5 we have
{{{
sage: A = matrix(QQ, [[ 4, -2,  4,  2],
....:                 [-2, 10, -2, -7],
....:                 [ 4, -2,  8,  4],
....:                 [ 2, -7,  4,  7]])
sage: A.indefinite_factorization()
(
[   1    0    0    0]
[-1/2    1    0    0]
[   1    0    1    0]
[ 1/2 -2/3  1/2    1], (4, 9, 4, 1)
)
sage: A
[ 4 -2  4  2]
[-2 10 -2 -7]
[ 4 -2  8  4]
[ 2 -7  4  7]

sage: B = matrix(QQ, [[ 4, -2,  4,  2],
....:                 [-2, 10, -2, -7],
....:                 [ 4, -2,  8,  4],
....:                 [ 2, -7,  4,  7]])
sage: B.set_immutable()
sage: B.indefinite_factorization()
(
[   1    0    0    0]
[-1/2    1    0    0]
[   1    0    1    0]
[ 1/2 -2/3  1/2    1], (4, 9, 4, 1)
)
sage: B
[   1    0    0    0]
[-1/2    1    0    0]
[   1    0    1    0]
[ 1/2 -2/3  1/2    1]
}}}

Actually the problem stems from the output of `change_ring()`:
{{{
sage: A.change_ring(QQ) is A
False
sage: B.change_ring(QQ) is B
True
}}}

URL: http://trac.sagemath.org/16633
Reported by: tscrim
Ticket author(s): Travis Scrimshaw
Reviewer(s): Jan Keitel
Trac #16608: Immediate fix for animations in notebook

The following example, taken from the documentation of the animate
module, produces no visible output in the notebook:

{{{
sage: sines = [plot(c*sin(x), (-2*pi,2*pi), color=Color(c,0,0),
ymin=-1,ymax=1) for c in sxrange(0,1,.2)]
sage: a = animate(sines)
sage: a.show()
}}}

This is a regression introduced by #12827.  See discussion at #16533.

A good fix for this is in progress as part of a larger effort to unify
and expand animation functionality.  This ticket simply restores the
functionality in the meantime.

URL: http://trac.sagemath.org/16608
Reported by: niles
Ticket author(s): Niles Johnson
Reviewer(s): Martin von Gagern