net, cmd/fix: add IPv6 scoped addressing zone to INET, INET6 address structs

This CL starts to introduce IPv6 scoped addressing capability
into the net package.

The Public API changes are:
+pkg net, type IPAddr struct, Zone string
+pkg net, type IPNet struct, Zone string
+pkg net, type TCPAddr struct, Zone string
+pkg net, type UDPAddr struct, Zone string

Update issue 4234.

R=rsc, bradfitz, iant
CC=golang-dev
http://codereview.appspot.com/6849045
runtime: re-format comments.
add necessary newlines.

R=golang-dev, rsc
CC=golang-dev
http://codereview.appspot.com/6847067

Committer: Russ Cox <rsc@golang.org>
test: add test for floating point rounding of constants

Failed with gccgo.

R=golang-dev, remyoudompheng, rsc
CC=golang-dev
http://codereview.appspot.com/6855053
runtime: duplicate code for runtime.nanotime to avoid stack overflow in vDSO clock_gettime
Fixes issue 4402.

R=remyoudompheng, shivakumar.gn, random0x00, rsc
CC=golang-dev
http://codereview.appspot.com/6842063
cmd/gc: fix invalid indirect error at statement level
Fixes issue 4429.

R=golang-dev, remyoudompheng, daniel.morsing, rsc
CC=golang-dev
http://codereview.appspot.com/6850097
cmd/go: racewalk: fix nested struct handling
Fixes issue 4424.
Fixes issue 4425.

R=golang-dev, rsc
CC=golang-dev
http://codereview.appspot.com/6849093
cnd/gc: fix build

R=golang-dev
CC=golang-dev
http://codereview.appspot.com/6856097
net: add deadline prolongation test
Currently the test exposes data races on deadline vars.

R=golang-dev, dave, bradfitz, rsc
CC=golang-dev
http://codereview.appspot.com/6845091
crypto/tls: use 1/n-1 record splitting to protect against BEAST

This requires rebasing the block-mode test scripts.
I used GnuTLS version 3.1.4.

R=agl
CC=golang-dev
http://codereview.appspot.com/6844073
libmach, cmd/cc, cmd/cov, cmd/ld, cmd/prof: check malloc return value

Update issue 4415.

R=golang-dev, rsc
CC=golang-dev
http://codereview.appspot.com/6856080
cmd/8l: fix data corruption for MULB SI,

The 8l linker automatically inserts XCHG instructions
to support otherwise impossible byte registers
(only available on AX, BX, CX, DX).

Sometimes AX or DX is needed (for MUL and DIV) so
we need to avoid clobbering them.

R=golang-dev, dave, iant, iant, rsc
CC=golang-dev
http://codereview.appspot.com/6846057
spec: add () to method calls in examples

Since p.M is rejected (must call methods), use p.M(),
to keep the examples compiling.

Fixes issue 4441.

R=gri
CC=golang-dev
http://codereview.appspot.com/6854096
exp/types: fixed field/method lookup

also:

- composite literal checking close to complete
- cleaned up parameter, method, field checking
- don't let panics escape type checker
- more TODOs eliminated

R=rsc
CC=golang-dev
http://codereview.appspot.com/6816083
cmd/6l, cmd/8l: emit no-ops to separate zero-stack funcs from nosplits.

The stack overflow checker in the linker uses the spadj field
to determine whether stack space will be large enough or not.
When spadj=0, the checker treats the function as a nosplit
and emits an error although the program is correct.

Also enable the stack checker in 8l.

Fixes issue 4316.

R=rsc, golang-dev
CC=golang-dev
http://codereview.appspot.com/6855088
doc/play: don't use println in examples

R=golang-dev, rsc
CC=golang-dev
http://codereview.appspot.com/6849105
go/printer: Permit declaration and statement lists as input.

Also: Can set base indentation in printer.Config: all code
is going to be indented by at least that amount (except for
raw string literals spanning multiple lines, since their
values must not change).

R=golang-dev, rsc
CC=golang-dev
http://codereview.appspot.com/6847086
go/printer: some internal cleanups

Cleanups introduced originally by now abandoned
https://codereview.appspot.com/6846078/ .

Includes additional test cases for 'if' and 'for'
statements.

No formatting changes.

R=rsc
CC=golang-dev
http://codereview.appspot.com/6855096
cmd/gc: Make sure bools lose idealness when used with logical operators.

Bools from comparisons can be assigned to all bool types, but this idealness would propagate through logical operators when the result should have been lowered to a non-ideal form.

Fixes issue 3924.

R=golang-dev, remyoudompheng, r, rsc, mtj
CC=golang-dev
http://codereview.appspot.com/6855061
net/http: fix Transport races & deadlocks

Thanks to Dustin Sallings for exposing the most frustrating
bug ever, and for providing repro cases (which formed the
basis of the new tests in this CL), and to Dave Cheney and
Dmitry Vyukov for help debugging and fixing.

This CL depends on submited pollster CLs ffd1e075c260 (Unix)
and 14b544194509 (Windows), as well as unsubmitted 6852085.
Some operating systems (OpenBSD, NetBSD, ?) may still require
more pollster work, fixing races (Issue 4434 and
http://goo.gl/JXB6W).

Tested on linux-amd64 and darwin-amd64, both with GOMAXPROCS 1
and 4 (all combinations of which previously failed differently)

Fixes Issue 4191
Update Issue 4434 (related fallout from this bug)

R=dave, bradfitz, dsallings, rsc, fullung
CC=golang-dev
http://codereview.appspot.com/6851061
go/printer: don't use 'infinity' value when it might lead to int32 overflow

Fixes 386 build breakage.

R=rsc
CC=golang-dev
http://codereview.appspot.com/6844091