Blocks: Start replacing the unsigned char to strings.
Huge changes. Explanation below.
Trying to get rid from arrays of chars for strings, replacing with std::string.
Fixed a really dumb issue where the set_last method in Block wasn't setting the last flag to true.
=== IMPORTANT ===
This code is still buggy when we increase the size of a block ( manually corrupting it ), must check that issue.
=================

The codebase was way to unstable during the rewrite. Thus this shitty commit. Hopefully the situation will improve from now on,
as everything is being re-writed in the 'C++ way'