Use temporary directory instead of temporary file

Some linters are sensitive to filenames. See [#191][191] and `linter-rubocop`'s
[#2][2]. They might be happier if we use a temporary directory instead of a
temporary file.

  [2]: https://github.com/AtomLinter/linter-rubocop/issues/2
  [191]: https://github.com/AtomLinter/Linter/pull/191

Test Plan:

Ran lint on a CoffeeScript file and it still works. Didn't test if Haskell &
Ruby linters are happier.