IE 8 "page reload during async" fix, some better error reporting

Internet Explorer 8 will occasionally mess up the waitForAngular script by finishing the page load while it's still running. This is sporadic, though I notice it tends to happen more if the Selenium server is farther away from the test runner latency-wise (e.g. running on Sauce).

This change just re-runs the waitForAngular script once more if this particular error occurs, which solves the problem for me; I can run my Sauce tests on IE 8 now 20 times in a row and get them to pass, whereas before this fix they fail every fourth time on average.

I also am including some of the error reporting improvements that I used to track down this issue.