Move test data out of the test functions.

Preparation for creating benchmarks.
Benchmark for decoding and unmarshaling.

A single benchmark operation is really doing a large set of tests, so the
"ns/op" number is inflated.
parse: reuse the buffer already created
Use a pool of bufio.Readers.

This requires Go 1.3, which is still in beta.

Before:
BenchmarkDecodeAll	   10000	    104773 ns/op
BenchmarkUnmarshalAll	   10000	    154444 ns/op

After:
BenchmarkDecodeAll	   50000	     51353 ns/op
BenchmarkUnmarshalAll	   20000	     90481 ns/op
gofmt
Merge pull request #1 from nictuku/nictuku

Reduce allocations in bencode