Introduce avocado.loader module.

Introduce avocado.loader module with two different tasks
to perform: test discovery and test loading.

The test discover find tests (by ad hoc criteria) and return
a list of tests (test suite) to be loaded and then executed.

The test loader takes a test factory (a test class name and
parameters) and then load the test, creating a new test instance
ready to be executed.

Signed-off-by: Rudá Moura <rmoura@redhat.com>
avocado.runner: remove load_test() and use avocado.loader module.

Remove the previous load_test() method (which performs discovery
and loading) and use the new avocado.loader module.

Rename run() method to run_suite().

Signed-off-by: Rudá Moura <rmoura@redhat.com>
avocado.job: Use avocado.loader module.

Use avocado.loader features and allows to extend the test loading
with a hook test_loader, for using inside a plugin.

Signed-off-by: Rudá Moura <rmoura@redhat.com>
Merge pull request #305 from ruda/test_discovery_and_load_phase1

Test discovery and load (Phase I)