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: 5960