test --test-path allows directories as well as files

This enhances the `test_path` option to `TestRunner` (and by extension the `./setup.py test --test-path` option to allow directories as well as files.

The logic is mostly the same as before.  If a file it must be a `.py` or `.rst` file.  However it may now also be a directory which might or might not contain tests of either type. 

This also allows something like `./setup.py test --test-path docs/` which allows running the doctests only.  This could be useful for a separate PR I have coming up in a bit.

Note: This might also necessitate a change to the documentation to `--test-path` in astropy-helpers, which is unfortunate.  I have plans to fix that situation later.