srl_buffer: char* -> unsigned char*

Introduction to GCC
8.7 Portability of signed and unsigned types
http://www.linuxtopia.org/online_books/an_introduction_to_gcc/gccintro_71.html

The C and C++ standards allows the character type char to be signed or
unsigned, depending on the platform and compiler. Most systems,
including x86 GNU/Linux and Microsoft Windows, use signed char, but
those based on PowerPC and ARM processors typically use unsigned
char.(29) This can lead to unexpected results when porting programs
between platforms which have different defaults for the type of char.

man gcc:
Ideally, a portable program should always use signed char or unsigned
char when it depends on the signedness of an object.

Sereal::Decoder uses unsigned char.

This commit is a preparation step of using srl_buffer_t in Sereal::Decoder.