cmd/go: make malformed import path message more precise

If you say 'go get -v' you get extra information when import
paths are not of the expected form.

If you say 'go get -v src/rsc.io/pdf' the message says that
src/rsc.io/pdf does not contain a hostname, which is incorrect.
The problem is that it does not begin with a hostname.

Fixes issue 7432.

LGTM=r
R=golang-codereviews, r
CC=bradfitz, golang-codereviews, iant
https://codereview.appspot.com/144650043
cmd/go: display program name when reporting crash

Fix by atom (from CL 89190044), comment and test by me.

Fixes issue 6823.

LGTM=crawshaw
R=golang-codereviews, crawshaw
CC=0xe2.0x9a.0x9b, adg, golang-codereviews, iant, r
https://codereview.appspot.com/148180043
cmd/go: add test -o flag to control where test binary is written

While we are here, remove undocumented, meaningless test -file flag.

Fixes issue 7724.

LGTM=r
R=golang-codereviews, r
CC=golang-codereviews, iant
https://codereview.appspot.com/149070043
cmd/go: document that testdata directories are ignored

Also rebuild doc.go; was stale, so contains extra changes.

Fixes issue 8677.

LGTM=r
R=golang-codereviews, r
CC=golang-codereviews, iant
https://codereview.appspot.com/148170043
liblink: fix cmd/ld -X flag

This fixes the test/linkx.go test, which does not run by default.
(Issue 4139 is about fixing that.)

Fixes issue 8806.

LGTM=r
R=golang-codereviews, r
CC=bradfitz, golang-codereviews, iant
https://codereview.appspot.com/145420043