cmd/gc: Don't accept qualified names as literal keys

Fixes issue 4067.

R=golang-dev, minux.ma, dave, rsc
CC=golang-dev
http://codereview.appspot.com/6622056
cmd/gc: replace "typechecking loop" by nicer errors in some cases.

For issue 3757:
BEFORE:  test/fixedbugs/bug463.go:12: typechecking loop involving a
             test/fixedbugs/bug463.go:12 a
             test/fixedbugs/bug463.go:12 <node DCLCONST>
AFTER:   test/fixedbugs/bug463.go:12: constant definition loop
             test/fixedbugs/bug463.go:12: a uses a

For issue 3937:
BEFORE: test/fixedbugs/bug464.go:12: typechecking loop involving foo
            test/fixedbugs/bug464.go:12 <T>
            test/fixedbugs/bug464.go:12 foo
            test/fixedbugs/bug464.go:12 <node DCLFUNC>
AFTER:  test/fixedbugs/bug464.go:12: foo is not a type

Fixes issue 3757.
Fixes issue 3937.

R=golang-dev, rsc
CC=golang-dev
http://codereview.appspot.com/6614058
syscall: fix Statfs and Fstatfs on Linux/ARM

R=golang-dev, dave, rsc
CC=golang-dev
http://codereview.appspot.com/6615055
testing: fix extra tabs when t.Log("string")

t.Log("line 1\nline 2\nline 3")

Old output:
=== RUN TestLine3
--- PASS: TestLine3 (0.00 seconds)
testing_test.go:25: 	line 1
		line 2
		line 3
		PASS

New output:
=== RUN TestLine3
--- PASS: TestLine3 (0.00 seconds)
testing_test.go:24: 	line 1
		line 2
		line 3
PASS

R=golang-dev, rsc
CC=golang-dev
http://codereview.appspot.com/6613069
test: use rundir and errorcheckdir for a few more tests.

Update issue 4139.

R=golang-dev, minux.ma
CC=golang-dev
http://codereview.appspot.com/6620070
net/http/httptest: mimic the normal HTTP server's ResponseWriter more closely

Also adds tests, which didn't exist before.

Fixes issue 4188

R=golang-dev, rsc
CC=golang-dev
http://codereview.appspot.com/6613062
os: make TestMkdirAllWithSymlink more robust

Don't assume the test has a clean environment within /tmp.
Use an actual new tempdir for its tests.

Fixes FreeBSD build failure as seen at:
http://build.golang.org/log/396738676356d7fb6bab6eaf1b97cac820f8a90f

--- FAIL: TestMkdirAllWithSymlink (0.00 seconds)
path_test.go:178:                 Mkdir /tmp/dir: mkdir /tmp/dir: file exists
FAIL
FAIL    os      1.091s

R=golang-dev, minux.ma
CC=golang-dev
http://codereview.appspot.com/6615057
test/run.go: use correct executable filename on Windows, fix build

R=golang-dev, daniel.morsing
CC=golang-dev
http://codereview.appspot.com/6624060
runtime: disable TestParForParallel for now on 32-bit hosts
Also add call to GC() to make it easier to re-enable the test.

Update issue 4155.
When we have precise GC merged, re-enable this test.

R=golang-dev, bradfitz
CC=golang-dev
http://codereview.appspot.com/6622058
race: runtime changes
This is a part of a bigger change that adds data race detection feature:
http://codereview.appspot.com/6456044

R=rsc
CC=gobot, golang-dev
http://codereview.appspot.com/6535050
race: sync changes
This is a part of a bigger change that adds data race detection feature:
http://codereview.appspot.com/6456044

R=rsc, minux.ma
CC=gobot, golang-dev
http://codereview.appspot.com/6529053
race: sync/atomic changes
This is a part of a bigger change that adds data race detection feature:
http://codereview.appspot.com/6456044

R=rsc, remyoudompheng
CC=gobot, golang-dev
http://codereview.appspot.com/6536059
io/ioutil: fix data race under the race detector
See issue 3970 (it's already marked as Fixed).

R=rsc, minux.ma
CC=golang-dev
http://codereview.appspot.com/6624059
cmd/gc: avoid crash in %N print

R=ken2
CC=golang-dev
http://codereview.appspot.com/6609052
cmd/gc: more graceful handling of invalid fields in widstruct.

The protection against segfaults does not completely solve
crashes and breaks test/fixedbugs/bug365.go

R=golang-dev, rsc
CC=golang-dev
http://codereview.appspot.com/6615058
test/bench/shootout: match gcc architecture to GOARCH

If we're benchmarking 8g, use gcc -m32.
If we're benchmarking 6g, use gcc -m64.

R=golang-dev, bradfitz, minux.ma, remyoudompheng
CC=golang-dev
http://codereview.appspot.com/6625061
test: correct type in declbad.go

The test is not about type mismatches and it causes
an extra error to appear.

R=golang-dev, rsc
CC=golang-dev
http://codereview.appspot.com/6614062
codereview: more mercurial interface fixes
        Fixes issue 4131.

R=golang-dev, rsc
CC=golang-dev
http://codereview.appspot.com/6614061
cmd/ld, cmd/5l: support R_ARM_PC24 and R_ARM_JUMP24, fix R_ARM_CALL

1. R_ARM_CALL can also be used to call a PLT entry
2. add support for R_ARM_PC24 and R_ARM_JUMP24
3. refactor, remove D_PLT32 in favor of D_CALL

Fixes issue 4006.

R=rsc, dave
CC=fullung, golang-dev
http://codereview.appspot.com/6622057
cmd/gc: skip over reported BOMs

This keeps the BOM runes from causing other errors.

R=golang-dev, remyoudompheng
CC=golang-dev
http://codereview.appspot.com/6625062