mktemp: unlink mkstemp alternative to (unsafe) dry-run option

Change-Id: I19eeca4e8a915418527630105405c4d74d542ead
Don't treat link-time warnings as errors

We want to use mktemp(3) in the mktemp applet (it's unsafe, but so is
that particular option of the applet, and mktemp() is the least unsafe
way of implementing that option), but forcing the linker to error out on
warnings breaks the build in this case.

Change-Id: I6e976e9b467d2241be4bb0f3628991d098c492f0
mktemp: go back to using mktemp() for mktemp -u

The -u option to mktemp(1) is inherently unsafe, and the fact it exists
in the first place is probably a mistake.  That said, it exists, and if
we want to support it, we should try to minimize the risk of using it.

The current code attempts to work around a build failure caused by
passing --fatal-warnings to the linker by using mkstemp() and unlinking
the resulting file, which eliminates the need for an attacker to guess
the filename (he can instead watch the temporary file directory using
inotify or some other similar mechanism).  It's better instead to use
mktemp() (which at least forces the attacker to guess what "XXXXXX" was
replaced with) and tell the linker to live with the warning.

Change-Id: I01e0901db39821b7d1ce06145d1199ecd929e689