Don't use tmpfile()

It appears that at least on Win7-64 Windows tries to create the temporary
file in C:\ and fails because of insufficient permissions. How stupid is
that.

Instead we roll our own tempfiles, based on the already existing tempfile
name that is passed in.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Revert two incorrect commits

Revert "Don't add a close button to KMessageWidget"
This reverts commit 75c9bcd72668f5b5524e29291cce2a908fddcdaa.

Revert "Remove unused variable"
This reverts commit 9edee3477a1fa3945717512e591f30af9c3ca468.

I was fixing the wrong problem... instead of removing the handling of the
Close button I should have figured out why the close button was
incorrectly shown in the first place.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Correctly remove the Close button from most message widgets

The only time we want the close button is when showing an error at the
bottom of the main window.

In the other cases (maintab, globe) we need to explicitly hide it.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>