Fix t/cunit/run_all.sh

If Valgrind detect no errors, it returns the program exit code instead
of 0, even with --error-exitcode option. So if some unit tests failed,
Valgrind exit with a non-zero value even if there is no memory leak.
The workaround is to use different exit code for unit tests programs and
for valgrind.
Unit tests programs returns 1 when tests failed.
Valgrind now returns 2 in case of memory leak.