XS squeleton for Sereal Merger
Sereal::Merger: use Makefile.PL from Decoder/Encoder
Sereal::Merger: create constructor + destructor
Sereal::Merger: parse first arguments
Sereal::Merger: fix typo, we are a merger, not an encoder
Sereal::Merger: added 2 methods to the merger. Re-enabled prototypes
Sereal::Merger: finish returns a string
Sereal::Merger: move IS_SRL_HDR_* macros to srl_protocol.h
Sereal::Merger: work is in progress
Sereal::Merger: debug deletion of SV inside tracked_offsets
Sereal::Merger: proper way of working with tracked_offsets
Sereal::Merger: optimize things a bit
srl_buffer: add BUF_NOT_DONE macro
Sereal::Merger: switch to using srl_buffer_t as input buffer
Sereal::Merger: add TODO list
Revert "Sereal::Merger: move IS_SRL_HDR_* macros to srl_protocol.h"

This reverts commit c4ddceef524152555d3bb590fa102dbd2e20b0dd.

Don't know how to solve atm, will copy-paste.
srl_buffer: DEBUG_ASSERT_BUF_SPACE and DEBUG_ASSERT_BUF_SANE accept buf

DEBUG_ASSERT_BUF_SPACE and DEBUG_ASSERT_BUF_SANE used to accept
srl_merger_t* as param which is not convinient for Sereal::Merger.
Sereal::Merger: copy-paste IS_SRL_HDR_* macros, add TODO
srl_buffer: srl_buf_grow_nocheck() accept srl_buffer_t*

srl_buf_grow_nocheck() used to take srl_encoder_t structure
as input parameter and access buf via enc->buf.

Such approach is inflexiable and doesn't allow code sharing.
So, I patched the function and made it accept srl_buffer
structure directly.

There is possibbility of increased performance implications
because of extra level of inderections. However, they should
be minimal. srl_buf_grow_nocheck() is not called often.
srl_buffer: BUF_SIZE_ASSERT and BUF_SIZE_ASSERT_TOTAL accept buf

BUF_SIZE_ASSERT and BUF_SIZE_ASSERT_TOTAL used to accept
srl_merger_t as param which is not convinient for Sereal::Merger.