We do not want tests to include standard library headers to avoid
name conflicts. This support library helps shield the test compilation
units from the standard library while still providing the flexibility to
use the standard library.
This change adds wrappers for functions std::abort and the unix sleep
functions. It also provides a simple threading utility which is a wrapper
over the C++ std::thread class.
Do we need sleep in tests? What would be the use case?