Better handling of callback errors on request containing non-UTF8

Previously we reported being unable to correctly encode the error
string; report the original error instead
More work on fixing testcases for old tickets