Allow for running untitled files + path agnostic commands

When a new file is created but not saved, commands are not working as TM_DIRECTORY is not set. It's very handy to be able to run unsaved files to test some code snippets from the web etc.

Also, for non-run commands, we don't need to guess the package name and assume it's inside of the GOPATH. If we simply change current directory to the current package and run "go build" or "go test", it'll operate on the current package.