Bug 976363 - Assert that the work queue is empty when a MessageLoop goes away, and delete the tasks in the deferred queue; r=bsmedberg