BUG: _savez function broken by temporary file size limit.

On Linux systems the  _savez function creates temporary files in the
/tmp directory before adding them to the zip archive.  Recent Linux
distros have started mounting tmpfs on /tmp and, because tmpfs resides
in memory, file size is limited by memory size. The approach taken here
is to create the temporary files in the same directory as the output
file when possible, otherwise fall back on the default directory used
by tempfile.mkstemp.

The test_big_arrays test in test_npyio.py tests this, allthough it was
not originally intended as a test for this specific problem.  It is
fixed so that the big npz output file is put in the current working
directory.

Closes #3464