Patch io.fits to use find_current_module
Support running astropy.test() even when astropy is imported from a zip
file.

This moved all the crud from the astropy_test setup.py command for
running the tests in a subprocess into a new
TestRunner.run_tests_in_subprocess--this functionality was needed in
order to run the tests in a temp dir into which the astropy zip file was
extracted.  This is obviously a bit slow to start up, but that's just
the price someone will have to pay if they want to run astropy.test()
when importing from a zip file :)

One other thing this changed is that the astropy._get_test_runner()
function now returns a *function*, not a TestRunner instance.  It
returns either TestRunner.run_tests or
TestRunner.run_tests_in_subprocess as appropriate.

Maybe later this could be abstracted out even further.  But it should be
noted that one piece of information that
TestRunner.run_tests_in_subprocess needs that TestRunner.run_tests does
not need is the name of the top-level package (ex: astropy) being
tested.  Perhaps it would be good to just add that to TestRunner's
constructor.