Switch to patching in test_rc.py.

Before this, the mocks in test_rc.py were not being removed.  This
caused some cross-test pollution.  Now test_rc.py uses a context manager
for all the mocking/patching because you get unpatching for free (i.e.
the original objects are restored after each test).
Document how to use test_run_script.py