better error handling in custom export async UIs + validation

depends on https://github.com/dimagi/couchexport/pull/89/