msyncd: Build an intermediate static lib to link with tests
tests: Build tests into separate executables

Allow selectively run single test cases and produce useful reports on
the pass/fail ratio.