Add blaze.test_utils.temp_dir(), a context manager that creates a
temporary directory and cleans it up when exiting the block.

Handy for writing unit tests that need to create files on disk. To
debug tests, set environment variable BLAZE_TEST_KEEP_TEMP to 1 and
the temporary directory paths will be printed to stderr and not be
deleted.