exp/locale/collate: add context to entry.

R=r
CC=golang-dev
http://codereview.appspot.com/6727049
exp/locale/collate: removed weights struct to allow for faster and easier
incremental comparisons. Instead, processing is now done directly on colElems.
As a result, the size of the weights array is now reduced by 75%.
Details:
- Primary value of type 1 colElem is shifted by 1 bit so that primaries
  of all types can be compared without shifting.
- Quaternary values are now stored in the colElem itself. This is possible
  as quaternary values other than 0 or maxQuaternary are only needed when other
  values are ignored.
- Simplified processWeights by removing cases that are needed for ICU but not
  for us (our CJK primary values fit in a single value).

R=r
CC=golang-dev
http://codereview.appspot.com/6817054
exp/locale/collate: implementation of tailorings and table generation.
Tailorings are represented by removing and reinserting entries from a linked list.
After all tailorings are done, missing weights are computed and verified.
This implementation assumes that entries that are used in expansions are not
reinserted at a later point.  This considerably simplifies the implementation.

R=r
CC=golang-dev
http://codereview.appspot.com/6739052
unicode: move unicode and related packages to Unicode 6.2.0.

R=r, mpvl
CC=golang-dev
http://codereview.appspot.com/6818067
strconv: update to unicode 6.2.0
Fixes build, too.

R=golang-dev, rsc
CC=golang-dev
http://codereview.appspot.com/6775088
spec: we're now at Unicode 6.2.0

R=golang-dev, rsc
CC=golang-dev
http://codereview.appspot.com/6812060
src/lib9/utf: update to Unicode 6.2.0
Fixes issue 2874.

R=golang-dev, rsc
CC=golang-dev
http://codereview.appspot.com/6820068
gofmt: simplify slices of the form s[a : len(s)] to s[a:]

Fixes issue 4314.

R=r, rsc
CC=golang-dev
http://codereview.appspot.com/6822059
crypto/cipher: add examples

Fixes issue 1390.

R=golang-dev, minux.ma, adg, agl
CC=golang-dev
http://codereview.appspot.com/6631044
spec: slight wording change to remove a formal contradiction

Fixes issue 4324.

R=r
CC=golang-dev
http://codereview.appspot.com/6822062
A+C: adding Dan Callahan (individual CLA)

R=golang-dev, bradfitz
CC=golang-dev
http://codereview.appspot.com/6815062
encoding/json: clarify correct usage of struct tags in associated article.

Fixes issue 4297.

R=golang-dev, gri
CC=golang-dev
http://codereview.appspot.com/6817045

Committer: Robert Griesemer <gri@golang.org>
image/png: degrade gracefully for palette index values that aren't
defined by the PLTE chunk. Such pixels decode to opaque black,
which matches what libpng does.

Fixes issue 4319.

On my reading, the PNG spec isn't clear whether palette index values
outside of those defined by the PLTE chunk is an error, and if not,
what to do.


Libpng 1.5.3 falls back to opaque black. png_set_PLTE says:

/* Changed in libpng-1.2.1 to allocate PNG_MAX_PALETTE_LENGTH instead
 * of num_palette entries, in case of an invalid PNG file that has
 * too-large sample values.
 */
png_ptr->palette = (png_colorp)png_calloc(png_ptr,
        PNG_MAX_PALETTE_LENGTH * png_sizeof(png_color));


ImageMagick 6.5.7 returns an error:

$ convert -version
Version: ImageMagick 6.5.7-8 2012-08-17 Q16 http://www.imagemagick.org
Copyright: Copyright (C) 1999-2009 ImageMagick Studio LLC
Features: OpenMP
$ convert packetloss.png x.bmp
convert: Invalid colormap index `packetloss.png' @ image.c/SyncImage/3849.

R=r
CC=golang-dev
http://codereview.appspot.com/6822065
all: clear execute bit

R=golang-dev, r
CC=golang-dev
http://codereview.appspot.com/6826044
run.bat: make output consistent

R=golang-dev, minux.ma
CC=golang-dev
http://codereview.appspot.com/6811059