Use memfd_create when available.

It is cleaner way to get anonymous file descriptor. Prevents issue if there is no writeable home/tmp directory and does not appear in output of tools that report deleted files in use.

Alternatively it could use glibc's wrapper for memfd_create, but that is available only since version 2.27.

Merge request reports