Bug 1042221 - [email/backend] v2.0 specific uplift of improved saving/shutdown behaviour. r=asuth,r=mcav,r=jrburke, a=blocking-b2g=2.0

This includes the following fixes:

Portions of Bug 921050 (background sending), primarily cleanup
cleanup portions authored by asuth, melded into mcav's background send logic, mcav did extra cleanup
r=asuth on the mcav bits, r=mcav on the asuth bits

Bug 1039007 - Do not invoke operation callbacks until after any associated saves have safely hit the disk.
patch by asuth, r=mcav

Bug 987931 - cronsync's self-close races an IndexedDB commit.
patch by asuth, portions by jrburke.  r=mcav, r=jrburke, r=asuth

This amalgamation prepared and tested by asuth.
Merge pull request #22279 from asutherland/email-save-uplifts

Bug 1042221 - [email/backend] v2.0 specific uplift of improved saving/shutdown behaviour. r=mcav, r=jrburke, r=asuth, a=blocking-b2g=2.0