This patch extracts the testing logic from op_tests.cpp into
memory_check_utils.h so we can reuse it for mem* function integration
tests.
This makes testing consistent and thorough.
For instance this catches a bug that got unnoticed during submission of
D136595 and D135134. Integration test for memcmp was only testing a
single size.
This also leverages ASAN to make sure that data is not read / written
outside permitted boundaries
SizeSweep or AllSizes would be clearer IMO (here and below).