Allow to run and build programs from unsaved (untitled) file.

TM_DIRECTORY is not set when file is not saved. In such the case we'll
run all commands against the absolute filepath to the temporary file.
Run all non-run commands against current directory.

This doesn't assume any directory structure and allows for building
packages outside of the GOPATH.