syscall: add Dup3 on Linux

With dup3, we can avoid an extra system call on some machines
while holding syscall.ForkLock. Currently we have to
syscall.Dup + syscall.CloseOnExec.

On machines with Linux and a new enough kernel, this can just
be dup3.

R=golang-dev, r
CC=golang-dev
https://codereview.appspot.com/12170045
misc/dist: include godoc from go.tools

R=golang-dev, bradfitz
CC=golang-dev
https://codereview.appspot.com/12075045