Add cooldown option to throttle watch-tests

Mocha's default watch behavior is a bit too indiscriminate, and will
trigger re-runs of your test on any filesystem event. This is bad if you
have other watch/guard-type services that modify the local filesystem,
such as a CoffeeScript compiler. Such cases can trigger a cascade of
tests, which are at best redundant and at worst cause test failures
(e.g. when near-simultaneous test runs attempt to bind the same socket,
etc.).

This commit adds an optional cooldown period between test runs, which
should help eliminate redundant test runs.

Usage:
mocha -w --watch-cooldown 500 test/foobar.js