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.