Fix Use of uninitialized value in length warning

Test::Harness::Switches defined like this:
*switches = *Switches;

so after setting $switches to undef $Switches is undef too,
thus we get a warning.

However I am not sure why most of test reports dont contain
this warning. I found just one http://www.cpantesters.org/cpan/report/3f0611b6-c49a-11e2-9efe-d4dbd4c8518a

also happends on my box everytime I build something.
Unit test for run_test_harness (only one case tested)

This test fails without 132cd2c68adf1f49f4bf095b1896613d65e2192e fix, on perls < 5.12, with actual versions of Test::Harness
comment fixed in run_test_harness test
run_test_harness test for case when input is an empty string swicthes

also fixed incorrect assertions - switches are declared "local" in run_test_harness
so should be checked inside runtests()
Merge pull request #27 from vsespb/master

Fix Use of uninitialized value in length warning