Honour load_tests in the start_dir of discovery

Per http://bugs.python.org/issue22457 we were not honouring load_tests
in a package/__init__.py when that was the start_dir parameter, though
we do when it is a child package. The fix required a little care since
it introduces the possibility of infinite recursion.