[intel-warning-fix][tmpnam-dangerous]

mkdtemp creates directories with the permission set 0700 and has no
option to directly set alternate permissions, while Protect.Internal()
is equivalent to 0644. mkdtemp still obeys umask though and the result
permissions will be equivalent to: 0700 & ~umask & 0777 == 0600. So
basically the previous version created directories with 0644, and this
version will create them with 0600. I think this is okay because the
unlink call causes the temporary directory to be destroyed after the
current process finishes; there's no need for anyone else but owner (the
0x00 bit) to have access to it anyway.