Refactor Catch-based tests: one executable per test

This pull request refactors the Catch-based tests so that now we compile one executable per tested module as opposed to a single executable for all modules. See also #35.