Covers corner case

chula_buffer_move_to_begin() did not cover the case when 'pos' is
equal to zero. It did not crash, although it was doing work for
nothing.
Adds QA tests to cover chula_buffer_move_to_begin()
Adds QA tests to cover the chula_buffer_ensure_size(),
chula_buffer_drop_ending(), chula_buffer_swap_chars(), and
chula_buffer_remove_dups() functions.
Fixes chula_buffer_remove_string() corner cases

The cases where chula_buffer_remove_string() received either a NULL
string to search for, or one empty were not properly handled.
Adds new QA tests to cover chula_buffer_remove_string()
chula_buffer_remove_chunk() corner cases coverage

Some of the corner cases of chula_buffer_remove_chunk() weren't
covered properly.
Adds new QA test cases for the chula_buffer_remove_chunk() function
Adds QA tests for chula_buffer_cmp_buf() and chula_buffer_cmp()
chula_buffer_crc32() did not handle empty buffers correctly.
Adds QA tests to cover the chula_buffer_crc32() function.
Memory management improvement

Allocate the memory to read a file into the buffer only after the file
has actually been opened successfully. Previously, the buffer was
grown before the file was open, so if it failed, the buffer was
remained enlarged.
Adds a new QA test function to cover chula_buffer_read_file().
Adds a sanity check

Adds a new sanity check in chula_buffer_read_from_fd() to make sure
the fd provided is actually valid.
Adds a new QA test to cover the chula_buffer_read_from_fd() function.
Bug fix

It wasn't actually multiplying the content of the buffer by the right
number but the number plus one.
Adds new QA test for the chula_buffer_multiply() function.
Adds a new 'debug' target, just for convenience.
Command libcheck not fork() on each test. It makes debugging weary.
Adds a new QA entry to cover chula_buffer_get_utf8_len().
It's safer to check for emptiness using chula_buffer_is_empty()