lib9, cmd/dist, cmd/ld: Plan 9: fix build

lib9: fix runcmd, removeall, and tempdir functions

cmd/dist: Include run_plan9.c and tempdir_plan9.c
        from lib9 for build, and in general consider
        file names containing "plan9" for building.

cmd/ld: provide function args for the new functions
        from lib9.

R=rsc, rminnich, ality, bradfitz
CC=golang-dev
https://codereview.appspot.com/7666043

Committer: Russ Cox <rsc@golang.org>
A+C: Chris Howey (individual CLA)

Generated by addca.

R=gobot
CC=golang-dev
https://codereview.appspot.com/7544044
go/types: update operand types early

For expressions where the result type is independent
of the argument types (comparisons, conversions, rhs
of shifts), set the final expression types for those
subtrees early.

This fixes several bugs where incorrect lhs shift
operands where used (say in a comparison), but were
not reported.

Together with the changes listed below this CL fixes
many type-checker bugs.

Also:
- better documented updateExprType
- added larger comment to expr.go explaining
  the basic expression checking algorithm
- use latest definition for indices and make
  arguments; use the same code to check both
- use the same mechanism for cycle detection
  in constant expressions as for variables
  (new field Constant.visited)
- more tests for complex and make builtins
- many more and systematic tests for shifts;
  moved them into separate testfile
- in the testing code, don't compare the
  expected error pattern against itself
  (the actual message was always ignored...)
- fix affected error patterns in the test files
- various cleanups along the way

R=adonovan
CC=golang-dev
https://codereview.appspot.com/7432051
cmd/godoc: only show package documentation for commands

Fixed package.txt and adjusted package.html to match
structure (swapped if branches).

Fixes issue 4861.

R=golang-dev, adg, rsc
CC=golang-dev
https://codereview.appspot.com/7714043
cmd/dist: make cc rule match what cmd/go uses

We added -I$GOROOT/pkg/$GOOS_$GOARCH in cmd/go
(I think for use by cgo and swig, primarily) but didn't
update cmd/dist. I was testing some other code and
found that my changes built with cmd/go but failed
during the initial bootstrap. Make them match again.

R=golang-dev, iant
CC=golang-dev
https://codereview.appspot.com/7707044