Basic renamings
Factored the `test_common` file into submodules

1. Moved functions to separate files. Done some renamings.
2. Removed pseudo-GC stuff. No lol-leaks now.
[minor] Reordered includes
Created macros for unified definition of data-driven tests
Moved to ad hoc Cutter assertions
[minor] Tweaked empty lines
Refined test_context.c

* Removed create_from_fixed_buffer()
* Tweaked test sequences
* Added comments about inline buffer presets
Refactored characters tests & token extraction

Major:
 * Now the tokens are extracted in tests via a single call to
   extract_tokens() or extract_tokens_uchar32(). All buffer
   conversions, stream opening/closing is incapsulated there.

Minor:
1. Moved some functions to shared files.
2. Moved functions in character files.
3. Moved on to safe_malloc().
4. Some movements in test data due to extract_tokens().

TODO:
 * More comments on tests. They become more complicated.
Rearranged tests, moved slow extensive ones to a separate *.so-file
Merging local branch 'test-refactoring'

* test-refactoring:
  Rearranged tests, moved slow extensive ones to a separate *.so-file
  Refactored characters tests & token extraction
  Refined test_context.c
  [minor] Tweaked empty lines
  Moved to ad hoc Cutter assertions
  Created macros for unified definition of data-driven tests
  [minor] Reordered includes
  Factored the `test_common` file into submodules
  Basic renamings