Modifying Mersenne WAL to use ragel

Modified the current implementation of
packing and unpacking WAL log information
to use ragel and messagepack instead of
protobuf.
[msgpack_sbuffer_new()](https://github.com/msgpack/msgpack-c/blob/master/src/msgpack/sbuffer.h#L51) allocates zero filled sbuffer structure on the heap. You do not free the structure itself (not it's data pointer, which is properly released and passed to `wal_log_write()`.

Why not allocate the `msgpack_sbuffer` on the stack and call [msgpack_sbuffer_init()](https://github.com/msgpack/msgpack-c/blob/master/src/msgpack/sbuffer.h#L41) on it?

WAL writing is definitely on the hot paths list, so avoiding memory allocations is a good point.