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/ChangeLog b/ChangeLog
index 9b5456e..9016091 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -64,6 +64,7 @@
    * Change wording in the `mbedtls_ssl_conf_max_frag_len()`'s documentation to
      improve clarity. Fixes #2258.
    * Replace multiple uses of MD2 by SHA-256 in X.509 test suite. Fixes #821.
+   * Make `make clean` clean all programs always. Fixes #1862.
 
 = mbed TLS 2.16.1 branch released 2019-03-19