client: Fix symlink attacks; use proper tempfile infrastructure
client: Fix symlink attacks; use proper tempfile infrastructure

- Add mktempdir() and mktempfile() functions which create temporary files
and directories in a safe way (and respect TMPDIR).  Add created objects to
a list for later removal, and update exit_handler() to remove everything on
that list at exit.

- Use mktempfile() from srun() and fetch_parcel_file(), rather than creating
a file named after the client's PID

- Remove redundant unlink() calls from fetch_parcel_file()

- Update hoard() to use mktempdir()

cmusatyalab/openisr,cmusatyalab/openisr,cmusatyalab/openisr,cmusatyalab/openisr,cmusatyalab/openisr