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
[dev.garbage] all: merge default into dev.garbage

This picks up the selectdone dangling pointer fix, among others.

LGTM=rlh
R=rlh
CC=golang-codereviews
https://codereview.appspot.com/153070045