Use tempfile.mkdtemp for animation.FileMovieWriter.

Currently, `animation.FileMovieWriter` (e.g. `FFMpegFileWriter`)
creates temporaries in the current folder, without even checking
whether the file existed before.  This is obviously risky (e.g., create
a file named `_tmp0000000.png` in the current folder before running
`moviewriter.py` from the docs examples and it will be overwritten.
Moveover, temporaries are not cleaned up if an exception is raised
(e.g., KeyboardInterrupt).

This is relatively easy to fix using `tempfile.mkdtemp`, although I
had to modify `finish` so that it doesn't call `cleanup` by itself
(obviously, this can be fixed by keeping a `cleaned_up` attribute
but it feels like a minor API change is preferable; moreover the
context-manager API stays the same).

Only basic, manual testing done.
Yes, this is valid(!)  Moreover it is not that easy to write code with the proper behavior without making this change (because in case of failure you want to call `cleanup` without calling `finish`).
In my opinion the `finish` and `cleanup` methods should be private anyways.  I can also rename the new ones `_finish` and `_cleanup`, have the `saving` contextmanager just call the private methods, and deprecate the wrappers `finish` and `cleanup` which keep the previous behavior...  What do you think?