Replace boost unit test framework
As mentioned in !89 (merged) we still depend on boost's testing framework. However we could easily replace this with a lightweight header-only testing framework. I have used such a framework in personal projects in the past, e.g. https://github.com/jmf1sh/red_black/blob/master/tests/unit_test.hpp for a minimal example.
Ideally I would like (at least) the following testing macros:
TEST_CHECK_EQUAL(expected, observed, description_string)
TEST_CHECK_CLOSE(expected, observed, epsilon, description_string)
TEST_CHECK_THROW(throw_call, description_string)
TEST_FAIL(description_string)