Improving do_execute_soon for xpcshell tests

It struck me the other day just how much of a pain debugging asynchronous xpcshell tests is. Frequently you just see the test timeout because some code you are working on has thrown an exception, but the test harness can’t detect that and end the test, or even log the exception. Well it can now for do_execute_soon at least. I’ve landed bug 550481 which catches and logs any exceptions in the callback passed to do_execute_soon. As an added bonus I also removed the need to use do_test_pending/complete when purely using do_execute_soon, the harness does it automatically. There is no harm in you doing it yourself too though.