initial merger code
first workable code (still not all tags supported)
merger_test: simple benchmark for profiling
merger_test: go fmt knows better how to format code
merge.go: optimize access to track hash table
merge.go: cosmetic changes + better names
merge.go: let user decide about top level element (TopLevelArray|TopLevelArrayRef)
merge.go: add support of different Sereal versions
merge.go: remove needless initialization
merge.go: fix couple mistakes
merge.go: improve benchmark
merge.go: preallocate memory (not sure about impact)
merge.go: optimize string creation
merge.go: unroll recursion
merge.go: set default version to v2 (some issue with v3)
merge.go: more optimization led to ~8% speedup

* preallocate memory
* assign 1-byte values directly
* call copy() instead of append() to copy bigger chunks
merge.go: can create v2 and v3 documents
merge.go: can read compressed documents
merge.go: fix buf with overwriting PAD tags
merge.go: add sanity checks