avoid unnecessary allocations in snappy.Encode

I just looked at the snappy-go code a bit and realized that the way Encode is used can trigger a lot of unnecessary allocations.

https://code.google.com/p/snappy-go/source/browse/snappy/encode.go#82

It was fairly trivial to optimize this.