net/http: fix a bunch of test leaks

And one real leak in TimeoutHandler.

Fixes issue 4821

R=golang-dev, adg
CC=golang-dev
https://codereview.appspot.com/7369056
sort: add an example showing sorting struct by different keys

R=golang-dev, dsymonds
CC=golang-dev
https://codereview.appspot.com/7376058
exp/cookiejar: add a test for canonicalHost errors.

R=dr.volker.dobler
CC=golang-dev
https://codereview.appspot.com/7389048
cmd/ld, runtime: adjust symbol table representation

This CL changes the encoding used for the Go symbol table,
stored in the binary and used at run time. It does not change
any of the semantics or structure: the bits are just packed
a little differently.

The comment at the top of runtime/symtab.c describes the new format.

Compared to the Go 1.0 format, the main changes are:

* Store symbol addresses as full-pointer-sized host-endian values.
  (For 6g, this means addresses are 64-bit little-endian.)

* Store other values (frame sizes and so on) varint-encoded.

The second change more than compensates for the first:
for the godoc binary on OS X/amd64, the new symbol table
is 8% smaller than the old symbol table (1,425,668 down from 1,546,276).

This is a required step for allowing the host linker (gcc) to write
the final Go binary, since it will have to fill in the symbol address slots
(so the slots must be host-endian) and on 64-bit systems it may
choose addresses above 4 GB.

R=golang-dev, iant
CC=golang-dev
https://codereview.appspot.com/7403054
cmd/ld: change GC_CALL to 32-bit relative address

The current code uses 64-bit pc-relative on 64-bit systems,
but in ELF linkers there is no such thing, so we cannot
express this in a .o file. Change to 32-bit.

R=golang-dev, iant
CC=golang-dev
https://codereview.appspot.com/7383055
libmach: fix build (set and not used)

TBR=golang-dev
CC=golang-dev
https://codereview.appspot.com/7401053
syscall: Fix FD passing on OpenBSD

Fixes issue 3349.

R=bradfitz, dave, minux.ma
CC=golang-dev
https://codereview.appspot.com/7383056

Committer: Dave Cheney <dave@cheney.net>
exp/locale/collate: several changes based on comments on CL 7060051
which was submitted earlier.

R=r
CC=golang-dev
https://codereview.appspot.com/7402048