cmd/cc, runtime: disallow structs without tags

Structs without tags have no unique name to use in the
Go definitions generated from the C types.
This caused issue 8812, fixed by CL 149260043.
Avoid future problems by requiring struct tags.

Update runtime as needed.
(There is no other C code in the tree.)

LGTM=bradfitz, iant
R=golang-codereviews, bradfitz, dave, iant
CC=golang-codereviews, khr, r
https://codereview.appspot.com/150360043
runtime: clear stale values from G.param and SudoG.elem

This change was necessary on the dev.garbage branch
to keep the garbage collector from seeing pointers into
invalid heap areas.

On this default (Go 1.4) branch, the change removes
some possibility for memory leaks.

LGTM=khr
R=golang-codereviews, khr
CC=golang-codereviews, iant, r, rlh
https://codereview.appspot.com/155760043
runtime: clear sg.selectdone before saving in SudoG cache

Removes another dangling pointer that might
cause a memory leak in 1.4 or crash the GC in 1.5.

LGTM=rlh
R=golang-codereviews
CC=golang-codereviews, iant, khr, r, rlh
https://codereview.appspot.com/150520043
fmt: part 2 of the great flag rebuild: make %+v work in formatters
Apply a similar transformation to %+v that we did to %#v, making it
a top-level setting separate from the + flag itself. This fixes the
appearance of flags in Formatters and cleans up the code too,
probably making it a little faster.

Fixes issue 8835.

LGTM=iant
R=golang-codereviews, iant
CC=golang-codereviews
https://codereview.appspot.com/154820043
misc/cgo/test: fail issue 7978 with clearer error when GOTRACEBACK != 2

The test doesn't work with GOTRACEBACK != 2.
Diagnose that failure mode.

LGTM=iant
R=golang-codereviews, iant
CC=golang-codereviews, r
https://codereview.appspot.com/152970043
crypto/x509: add OpenELEC system root location.

Fixes issue 8349.

LGTM=rsc
R=rsc
CC=golang-codereviews
https://codereview.appspot.com/147320043
doc/go1.4: mention that we are going to need a new version of SWIG

Update issue 8750

CC=golang-codereviews
https://codereview.appspot.com/153950044
fmt: print &map like &slice and &struct
It was inconsistent.
Also test these better.
Also document the default format for types.
This wasn't written down.

Fixes issue 8470.

LGTM=iant
R=golang-codereviews, iant
CC=golang-codereviews
https://codereview.appspot.com/154870043
doc/go1.4.txt: fmt: document printing of &map rather than just pointer

CC=golang-codereviews
https://codereview.appspot.com/152160043
doc/go1.4: document memory consumption reduction

R=golang-codereviews, bradfitz
CC=golang-codereviews
https://codereview.appspot.com/149370043
syscall: another attempt to keep windows syscall pointers live

This approach was suggested in
https://codereview.appspot.com/138250043/#msg15.
Unlike current version of mksyscall_windows.go,
new code could be used in go.sys and other external
repos without help from asm.

LGTM=iant
R=golang-codereviews, iant, r
CC=golang-codereviews
https://codereview.appspot.com/143160046
net: disable TestDualStackUDPListener in short mode

This test is flaky, just like TestDualStackTCPListener.
That one was disabled. Disable this one too.

Update issue 5001

LGTM=bradfitz
R=rlh, bradfitz
CC=golang-codereviews
https://codereview.appspot.com/154950043
A+C: Jens Frederich (individual CLA)

Generated by a+c.

R=gobot
CC=golang-codereviews
https://codereview.appspot.com/151450043
cmd/8l: accept R_386_GOT32 in push instruction

Fixes issue 8382.

LGTM=iant
R=iant
CC=golang-codereviews
https://codereview.appspot.com/149540045
runtime: update docs, code for SetFinalizer

At last minute before 1.3 we relaxed SetFinalizer to avoid
crashes when you pass the result of a global alloc to it.
This avoids the crash but makes SetFinalizer a bit too relaxed.

Document that the finalizer of a global allocation may not run.

Tighten the SetFinalizer check to ignore a global allocation but
not ignore everything else.

Fixes issue 7656.

LGTM=r, iant
R=golang-codereviews, iant, r
CC=dvyukov, golang-codereviews, khr, rlh
https://codereview.appspot.com/145930043
cmd/go: fix 'go vet' of package with external tests

For example, fixes 'go vet syscall', which has source
files in package syscall_test.

Fixes issue 8511.

LGTM=r
R=golang-codereviews, r
CC=golang-codereviews, iant
https://codereview.appspot.com/152220044
regexp/syntax: regenerate doc.go from re2 syntax

Generated using re2/doc/mksyntaxgo.

Fixes issue 8505.

LGTM=iant
R=r, iant
CC=golang-codereviews
https://codereview.appspot.com/155890043
encoding/json: document that embedded interfaces look like non-embedded ones

Fixes issue 8386.

LGTM=r
R=golang-codereviews, r
CC=golang-codereviews, iant
https://codereview.appspot.com/149570043
net/url: document result of String

Fixes issue 8742.

LGTM=bradfitz
R=golang-codereviews
CC=adg, bradfitz, golang-codereviews, iant
https://codereview.appspot.com/155910043
os: make Process.Signal 'process finished' error consistent on Unix

While we're here, fix the implementation of Release on both
Unix and Windows: Release is supposed to make Signal an error.

While we're here, make sure we never Signal pid 0.
(Don't try this at home.)

Fixes issue 7658.

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