Report for the correct test. Run once. Fix #129.

This commit fixes problems impacting Trac #129.

 - Results may be sent more than once from the browser.
   This can cause calls to next() in such as way that can
   duplicate test results for other URLs and cause
   running tests to stop and go to another test.
 - If results are sent twice, detect this and do not emit
   another results event for collection by the frontend.
 - Do not setExecuting(false) or setResults({}) for a
   scriptError, because we do not call next.
 - Move call to Agent#next after test results are recieved
   closer to the calls to setResults and setExecuting in
   the results agentEmitter handler.