net: renamings
This is Go 1 package renaming CL #3.
This one merely moves the source; the import strings will be
changed after the next weekly release.
This one moves pieces into net.

http -> net/http
http/cgi -> net/http/cgi
http/fcgi -> net/http/fcgi
http/pprof -> net/http/pprof
http/httptest -> net/http/httptest
mail -> net/mail
rpc -> net/rpc
rpc/jsonrpc -> net/rpc/jsonrpc
smtp -> net/smtp
url -> net/url

Also remove rand (now math/rand) from NOTEST - it has a test.

The only edits are in Makefiles and deps.bash.

R=golang-dev, bradfitz
CC=golang-dev
http://codereview.appspot.com/5335048
renaming_1: hand-edited files for go 1 renaming
This contains the files that required handiwork, mostly
Makefiles with updated TARGs, plus the two packages
with modified package names.
html/template/doc.go needs a separate edit pass.
test/fixedbugs/bug358.go is not legal go so gofix fails on it.

R=rsc
CC=golang-dev
http://codereview.appspot.com/5340050
renaming_3: gofix -r go1pkgrename src/pkg/[m-z]*

R=rsc
CC=golang-dev
http://codereview.appspot.com/5345045
cgi: make test code more readable

R=rsc
CC=golang-dev
http://codereview.appspot.com/5375089
use new time API

R=bradfitz, gri, r, dsymonds
CC=golang-dev
http://codereview.appspot.com/5390042
use new strconv API

All but 3 cases (in gcimporter.go and hixie.go)
are automatic conversions using gofix.

No attempt is made to use the new Append functions
even though there are definitely opportunities.

R=golang-dev, gri
CC=golang-dev
http://codereview.appspot.com/5447069
net/url: cleaned up URL interface (v2)

Duplicated fields from URL were dropped so that its behavior
is simple and expected when being stringified and when being
operated by packages like http. Most of the preserved fields
are in unencoded form, except for RawQuery which continues to
exist and be more easily handled via url.Query().

The RawUserinfo field was also replaced since it wasn't practical
to use and had limitations when operating with empty usernames
and passwords which are allowed by the RFC. In its place the
Userinfo type was introduced and made accessible through the
url.User and url.UserPassword functions.

What was previous built as:

        url.URL{RawUserinfo: url.EncodeUserinfo("user", ""), ...}

Is now built as:

        url.URL{User: url.User("user"), ...}

R=rsc, bradfitz, gustavo
CC=golang-dev
http://codereview.appspot.com/5498076
net/http/cgi: increase a flaky test timeout

Fixes 2450, probably.

R=golang-dev, gri
CC=golang-dev
http://codereview.appspot.com/5540074
build: remove Make.pkg, Make.tool

Consequently, remove many package Makefiles,
and shorten the few that remain.

gomake becomes 'go tool make'.

Turn off test phases of run.bash that do not work,
flagged with $BROKEN.  Future CLs will restore these,
but this seemed like a big enough CL already.

R=golang-dev, r
CC=golang-dev
http://codereview.appspot.com/5601057
bufio: drop error return for NewReaderSize and NewWriterSize
It complicates the interface unnecessarily.
Document this in go1.html.
Also update the go/doc Makefile.

Fixes issue 2836.

R=golang-dev, gri, bradfitz
CC=golang-dev
http://codereview.appspot.com/5642054
os/signal: selective signal handling

Restore package os/signal, with new API:
Notify replaces Incoming, allowing clients
to ask for certain signals only.  Also, signals
go to everyone who asks, not just one client.

This could plausibly move into package os now
that there are no magic side effects as a result
of the import.

Update runtime for new API: move common Unix
signal handling code into signal_unix.c.
(It's so easy to do this now that we don't have
to edit Makefiles!)

Tested on darwin,linux 386,amd64.

Fixes issue 1266.

R=r, dsymonds, bradfitz, iant, borman
CC=golang-dev
http://codereview.appspot.com/3749041
net/http/cgi: fix empty response

R=golang-dev, gri
CC=golang-dev
http://codereview.appspot.com/5693058
net/http/cgi: add an empty response test

New test for http://code.google.com/p/go/source/detail?r=a73ba18

R=golang-dev, dsymonds
CC=golang-dev
http://codereview.appspot.com/5701046
net/http/cgi: make test more robust for Windows perl

Update issue 4401

R=golang-dev, mattn.jp
CC=golang-dev
http://codereview.appspot.com/6853067
net/http/cgi: more windows perl test work

Don't rely on finding cmd.exe in a particular spot.

Fixes issue 4401

R=golang-dev, krautz
CC=golang-dev
http://codereview.appspot.com/6842066
net/http/cgi: another attempt to fix windows tests

Also enables TestDirWindows test on windows.

Fixes Issue 4401.

R=golang-dev, bradfitz
CC=golang-dev, krautz
http://codereview.appspot.com/6847072
net/http/cgi: make it work without REQUEST_URI environment variable

Fixes issue 4367.

R=golang-dev, bradfitz
CC=golang-dev
https://codereview.appspot.com/7062052
net/http/cgi: fix test case sensitivity on Windows

Fixes issue 4645

R=golang-dev, alex.brainman, minux.ma
CC=golang-dev
https://codereview.appspot.com/7105047
all: use t.Skip{,f}

Replace various t.Log{,f} ; return checks with t.Skip{,f}.

R=golang-dev, n13m3y3r, bradfitz, adg, mikioh.mikioh
CC=golang-dev
https://codereview.appspot.com/7193044
net/http/cgi: make tests compile on plan9

Don't reference the non-portable syscall.Signal(0).

Maybe they'll pass too. Untested. plan9 bit from
Akshat Kumar.

R=golang-dev, akumar
CC=golang-dev
https://codereview.appspot.com/7370049