Use Error::asStdString if available
This fixes wrongly encoded translated error descriptions on Windows
when called from the main thread (e.g. for displaying an error in the UI
for the user). For secondary threads one still gets error descriptions
in native encoding instead of UTF-8 on Windows, but that should only
affect debug logs.
- GnuPG-bug-id: T5960