net: use F_DUPFD_CLOEXEC when duping fds

This means that in the common case (modern kernel), we only
make 1 system call to dup instead of two, and we also avoid
grabbing the syscall.ForkLock.

R=golang-dev, iant
CC=golang-dev
https://codereview.appspot.com/12476043
container/heap: add Fix and document the min is element 0.

Fixes issue 5372.
Fixes issue 5577.

R=gri, rsc, bradfitz, r
CC=golang-dev
https://codereview.appspot.com/12265043

Committer: Robert Griesemer <gri@golang.org>
all: use strings.IndexByte instead of Index where possible

R=golang-dev, khr
CC=golang-dev
https://codereview.appspot.com/12486043