Using check_PROGRAMS would postpone compiling the binaries needed by system tests until `make check` would be called. Since it's preferable to invoke pytest directly to run the system test suite, compile these binaries without installing them during `make all` instead by using noinst_PROGRAMS. This removes the need to use TESTS= make -e check hack invoked from pytest to work around this issue.