more python 2.4 fixes and a trivial cleanup

Python 2.4 really needs the message sent down to subcmd_cp_mv() to be
a unicode string, not an ascii string.  run-tests.py would fail on
python 2.4 without this fix when encountering a non-ascii character in
a filename.  And of course it's safe up to python 2.7.

Trivial cleanup is to use 'if list' rather than 'if len(list)' which
accomplishes the same thing - tests for not empty.