Modify run_tests_if_main() to bypass nose.

Just run all functions in the script that start with 'test_'.
In this way when there is an error, I can just jump to PM
debug mode in my IDE and inspect what's wong. Nose first runs
all tests and then displays a traceback. I want to *go* there.
run_tests_if_main again runs tests in classes
run_tests_if_main() better selection of objects to run

Also run in predetermined order, helps when re-running tests
address user comments
run_tests_if_main() can also run with nose, and is smarter
Merge pull request #574 from almarklein/single-tests

Modify run_tests_if_main() to bypass nose.