Rework test infrastructure

* Add 'Run' method to TestBatch
* Pluggable output formats for tests
* New class TestRunner to run multiple tets batches and print a summary
Port a single test to new infrastructure
Move code to diagnose batch run to TestBatch
Fix #includes in TestRunner.c
Custom "Clownfish" test formatter

Will be used for the C bindings.
Add some documentation
Consolidate test formatter code into a single file
Refactor core tests

Most of the refactoring was automated using a Perl script.
Port 611-queryparser_syntax.t to C
Remove method TestBatch#Plan
Make method TestBatch#Run_Tests abstract
Change type of test counts from int64_t to uint32_t
Move code to unbuffer stdout
Move TestBatch class to Clownfish::Test
Remove #include
Add TestFormatter to TestBatch constructor