refactor/rename: make -from syntax support string literals for complex import paths.

(They may contain any character, after all.)

Also, allow but don't require parens and stars.
e.g. (*"encoding/json".Decoder).Decode or "encoding/json".Decoder.Decode
     but not encoding/json.Decoder.Decode.

Since -from queries are now Go expressions, we use the Go parser.
(Thanks to Rog Peppe for the suggestion.)

LGTM=sameer
R=sameer
CC=golang-codereviews, gri, rogpeppe
https://golang.org/cl/154610043
cmd/vet: update test patterns to include asm function name

vet now includes function names in its error messages about
assembly code.  Update the error test patterns to account for
this and expand some patterns to check that go vet discovers
the function name correctly.

Fixes golang/go#9041

LGTM=r
R=adg, r, rsc
CC=golang-codereviews
https://golang.org/cl/170940044
cmd/vet: tests for RET checking, SP checking, and leaf functions

Add tests for recently introduced asm error checks in vet.
This adds tests for the new warnings about functions that
don't store to their return slot before returning or that
store to SP-relative addresses in or beyond the argument
frame.  It also adds a test for leaf function handling on arm,
where the link register is not implicitly saved.

LGTM=rsc
R=rsc
CC=adg, golang-codereviews, r
https://golang.org/cl/166040044
go.tools/godoc/static: replace bake.sh with "go generate" rule

LGTM=r
R=r
CC=golang-codereviews
https://golang.org/cl/164490043
go/buildutil: call ReadDir via the build.Context's file system interface

LGTM=gri
R=gri, crawshaw
CC=golang-codereviews
https://golang.org/cl/171920043
go.tools: use golang.org/x/... import paths

Rewrite performed with this command:
  sed -i '' 's_code.google.com/p/go\._golang.org/x/_g' \
    $(grep -lr 'code.google.com/p/go.' *)

LGTM=rsc
R=rsc
CC=golang-codereviews
https://golang.org/cl/170920043
go.tools/dashboard/builder: rewrite sub-repo paths before 'go get' and 'go test'

The dashboard still uses the old "code.google.com/p/go.*" import paths.
Rewrite them to the new "golang.org/x/*" before running 'go get' and 'go test'.

Update golang/go#9079.

LGTM=rsc
R=rsc, bradfitz
CC=golang-codereviews
https://golang.org/cl/174740043
go.tools/dashboard/env: use newer builder

This version of the builder can handle the new golang.org/x/ paths.

LGTM=bradfitz
R=bradfitz
CC=golang-codereviews
https://golang.org/cl/174750043
x/tools/dashboard/app: prevent builders from nuking other results

This fixes the issue where a builder would occasionally wipe out
the results from another builder.

LGTM=bradfitz
R=bradfitz
CC=golang-codereviews
https://golang.org/cl/172150043
x/tools/dashboard/app: revert sub-repo path rename

We're going to keep the old paths in the dashboard until
after Go 1.4 is out the door.

TBR=bradfitz
R=bradfitz
CC=golang-codereviews
https://golang.org/cl/169240044
x/tools/dashboard/coordinator: provide build key in / and /root

LGTM=bradfitz
R=bradfitz
CC=golang-codereviews
https://golang.org/cl/170260044
x/tools/dashboard/app: respect gohash in Commit.AddResult

This should fix the issue where results sub-repo results are clobbered
by subsequent commits. (Much like the previous fix, which only
fixed the issue for main repo commits.)

TBR=bradfitz
R=bradfitz
CC=golang-codereviews
https://golang.org/cl/167440044
refactor/rename: fix crash when renaming anonymous struct field that's a qualified reference

(or a pointer, or both).

+ test

Fixes bug 8924

LGTM=sameer
R=dominik.honnef, sameer
CC=<dominik.honnef, golang-codereviews
https://golang.org/cl/158920043
cmd/digraph: support Go-style double-quotes in input data.

+ test.

LGTM=sameer
R=sameer
CC=golang-codereviews, gri
https://golang.org/cl/170090043
go.tools/imports: use same logic as 'go' tool for pruning package search.

The previous logic would descend into "_"-prefixed names, "testdata" folders,
and skipped folders beginning with a digit.

Fixes golang/go#8958.

LGTM=bradfitz
R=golang-codereviews, dave, bradfitz
CC=golang-codereviews
https://golang.org/cl/167000043
go.tools/go/rta: implement Rapid Type Analysis for Go.

This is an algorithm for callgraph construction that is faster
but much less precise than pointer analysis.
(I evaluated this for the Go Oracle last year but shelved it,
but it's a natural fit for the work Brian is doing on
automatic program minimization.)

LGTM=sameer
R=gri, crawshaw, sameer
CC=bwkster, golang-codereviews
https://golang.org/cl/124690043
cmd/callgraph: a utility for dumping the callgraph of a Go program.

(This functionality is provided by the oracle, but its output
format is inflexible, and the functionality is better suited
to a shell utility.  I may remove the oracle 'callgraph' feature.)

See Usage for details.

+ Test.

LGTM=sameer
R=sameer
CC=golang-codereviews, gri
https://golang.org/cl/164460044
go/types: add missing nil check in Info.TypeOf

Also use type assertions in a more defensive
way (check for != nil rather than ok).

LGTM=dsymonds, adonovan
R=adonovan, dsymonds
CC=golang-codereviews
https://golang.org/cl/169480043
cmd/callgraph: fix build

TBR=adonovan
R=adonovan
CC=golang-codereviews
https://golang.org/cl/171640043
x/tools/dashboard/app: use ?branch=foo to show foo branch commits

LGTM=rsc
R=bradfitz, rsc
CC=golang-codereviews
https://golang.org/cl/167660043