exectest.py: split valgrind checking out of Test.run()

Signed-off-by: Dylan Baker <baker.dylan.c@gmail.com>
exectest.py: Add some asserts to avoid common errors

This adds asserts to ensure that the types leaving Test._run_command()
are of the correct type (unicode and int), and adds one to ensure that
we don't compare None and 0

Signed-off-by: Dylan Baker <baker.dylan.c@gmail.com>