programs: Make `make clean` clean all programs always

If `make TEST_CPP:=1` is run, and then `make clean` (as opposed to `make
TEST_CPP:=1 clean`), the cpp_dummy_build will be left behind after the
clean. Make `make clean more convenient to use by removing programs that
could be generated from any configuration, not just the active one.

Fixes #1862
diff --git a/programs/Makefile b/programs/Makefile
index 28c747b..d09949b 100644
--- a/programs/Makefile
+++ b/programs/Makefile
@@ -296,6 +296,8 @@
 clean:
 ifndef WINDOWS
 	rm -f $(APPS)
+	-rm -f ssl/ssl_pthread_server$(EXEXT)
+	-rm -f test/cpp_dummy_build$(EXEXT)
 else
 	del /S /Q /F *.o *.exe
 endif