Removes shared library options
Implements the testing facilities

Adds the fail_exception class
Adds the runner class
Adds the test class
Removes the detail namespace