Make sure that cache is cleared in every case.

This patch uses node domains to fix two issues:
  1. The cache was not cleared when mocha.run threw an exception, which causes stale modules being used in subsequent test runs.
  1. Mocha throws uncaught exceptions for some syntax errors in tests / test subjects which caused gulp/node to exit.