Fixing leprechaun test runner and dom test infrastructure

- bin/leprechaun_runner.js had a race condition where if a single test
  "completed" more than once, it would skip tests
- bin/leprechaun_runner.js had a race condition where if the last test
  failed, it would report success
- src/imvujstest/BrowserDispatcher.js watched window.location.hash for
  changes to dispatch tests; if the window.location.hash changed, the
  test runner could report success multiple times