Go encoder: give a hint to encoder about expected output size

When ExpectedSize option is set, encoder simply preallocates buffer.
If the hint is correct, it adds upto another ~40% depedning on your dataset.

performance without ExpectedSize hint:
sereal-go $ go run psrl.go -folder data/ > data_go.srl
<snip>
The call took 1.28082218s to run.

performance with ExpectedSize hint:
sereal-go $ go run psrl.go -folder data/ -expsize 52428800 > data_go.srl
<snip>
The call took 708.295852ms to run.

I've benchmarked the code with ad-hoc script:
https://github.com/ikruglov/junk/blob/master/sereal-go/psrl.go
(be carefull, it dumps binary data to STDOUT)