Don’t shell out commands in Go tests

The changes in https://github.com/github/hub/commit/0ed14758b756f2b878a0a34f442cd2b178907525 mess up `go test`’s exit code since it executes test commands with exec(3) - `go test` always return 0. We need to stop shelling out commands in tests.
Merge pull request #737 from github/runner_test_fix

Don’t shell out commands in Go tests
Do not attach anything to the release command by default.

Detect the asset info to upload via the `--attach` flag.