Make tests suites run concurrently

This patch adds concurrency to tinytest. It is enabled by default and
uses a number of threads equal to std::thread::hardware_concurrency().
In the future, parsing program options and manually setting the
concurrency level would be a good idea. This patch also namespaces the
suite to avoid symbol collisions with user code.