test_test: Test TEST_STRING_EQ
test_asserts: Allow TEST_MEM_EQ to fail tests

We previously forgot something very important. Without this fix,
TEST_MEM_EQ will not fail tests. With this fix, TEST_MEM_EQ can now fail
tests when memory unexpectedly differs.
test_asserts: Allow % in macro parameters

Previously, when using the test asserts with a %, e.g.
"TEST_EQ(0, 8 % 4)", the build would fail because the "% " would be
interpreted as an invalid format string for snprintf. This commit causes
test macro parameters to provided stringified as parameters to snprintf
instead of leaving them placed stringified in the format string.