Better error reporting if recursive directory deletes fail.

o Although it threw an IOException if the delete failed, we didn't get
  any information about why, because #deleteFile() itself doesn't throw
  an exception.

o We would like to get better reporting to help diagnose flaky tests.

o I am reluctant to change FileUtils#deleteFile() itself to throw an
  exception instead of returning a boolean because it is so widely used.