Add a test_mode where we just log what we would do, but don't actually do it.

This will be used in webapp's runtests.py so we don't accidentally
send email or log to hipchat during tests.

Because of its intended use, I did not implement test-mode as a
context-manager even though the design would suggest it.  Instead,
it's expected apps will set enter_test_mode() in main() when
appropriate.  I do this in alert.py and timeout.py as an example.

Auditors: chris

Test Plan:
tests/alertlib_test.py

I also ran
   % echo foo | ./alert.py -n --hipchat tests
   INFO:root:alertlib: would send to hipchat room tests: foo

   % ./timeout.py -n --hipchat tests 2 sleep 3
   INFO:root:alertlib: would send to hipchat room tests: TIMEOUT running sleep