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 running in the background, such as
a CoffeeScript compiler. This commit adds an optional cooldown period
between test runs, which should help eliminate redundant tests.

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