Bug 1025727 - [email/cronysync] Failsafe abort/window.close after (multiple?) failed cronsync(s)

Cherry pick of e64d7adf507d0f0164988257d30600499b1e5776 for v2.0 with manual change of
adding `evt = require('evt')`
Merge pull request #21123 from jrburke/bug1025727-v2.0-email-cronsync-failsafe

Bug 1025727 - [email/cronysync] Failsafe abort/window.close after (multiple?) failed cronsync(s) r=mcav a=bajaj