fmt: replace channel cache with slice. Simpler concept, and it turns a queue into a stack. Speeds up benchmarks noticeably.
fmt: replace channel cache with slice.
Simpler concept, and it turns a queue into a stack.
Speeds up benchmarks noticeably.

Before:
fmt_test.BenchmarkSprintfEmpty	10000000	       282 ns/op
fmt_test.BenchmarkSprintfString	 2000000	       910 ns/op
fmt_test.BenchmarkSprintfInt	 5000000	       723 ns/op
fmt_test.BenchmarkSprintfIntInt	 1000000	      1071 ns/op
fmt_test.BenchmarkSprintfPrefixedInt	 1000000	      1108 ns/op
fmt_test.BenchmarkScanInts	    1000	   2239510 ns/op
fmt_test.BenchmarkScanRecursiveInt	    1000	   2365432 ns/op

After:
fmt_test.BenchmarkSprintfEmpty	10000000	       232 ns/op
fmt_test.BenchmarkSprintfString	 2000000	       837 ns/op
fmt_test.BenchmarkSprintfInt	 5000000	       590 ns/op
fmt_test.BenchmarkSprintfIntInt	 2000000	       910 ns/op
fmt_test.BenchmarkSprintfPrefixedInt	 2000000	       996 ns/op
fmt_test.BenchmarkScanInts	    1000	   2210715 ns/op
fmt_test.BenchmarkScanRecursiveInt	    1000	   2367800 ns/op

R=rsc, r
CC=golang-dev
http://codereview.appspot.com/5151044

pombredanne/go-deleteme,tv42/old-go,gnanderson/go,dsriram/golang,apparentlymart/golang,tv42/old-go,apparentlymart/golang,dsriram/golang,tv42/old-go,dsriram/golang,tv42/old-go,pombredanne/go-deleteme,gnanderson/go,tv42/old-go,pombredanne/go-deleteme,tv42/old-go,pombredanne/go-deleteme,gnanderson/go,dsriram/golang,apparentlymart/golang,dsriram/golang,apparentlymart/golang,apparentlymart/golang,tv42/old-go,dsriram/golang,gnanderson/go,gnanderson/go,gnanderson/go,gnanderson/go,apparentlymart/golang,pombredanne/go-deleteme,pombredanne/go-deleteme,apparentlymart/golang,pombredanne/go-deleteme,dsriram/golang