Merge pull request #678 from ros/refactor_run_tests

refactor code from run_tests.py into Python module
suggest what to do when CATKIN_NONHOMOGENEOUS_WORKSPACE