Updated test discovery.

Run loadTestsFromNames first to ensure dotted paths to test cases and
test methods work correctly.

Avoid the loadTestsFromNames and call discover directly from the current
directory if tests labels aren't supplied.

If no tests are found, perform discovery under the current label.

If not supplied, dynamically set the top level so the discovery doesn't
complain if multiple app labels external to a project directory are passed
in.