avocado.test: Move runner plugin functionality to test module

So that we can make avocado test modules self runnable.

Signed-off-by: Lucas Meneghel Rodrigues <lmr@redhat.com>
avocado.job: Implement Job and TestModuleRunner classes

A Job is a sequence of operations executed on a
machine. This patch implements the class, which
is a refactor of the test run function, and a
class that implements a convenience found in
python unittests: the main() method. This allows
test modules to be executable in stand alone
mode, without the need of the avocado test runner.

Signed-off-by: Lucas Meneghel Rodrigues <lmr@redhat.com>
avocado.plugins.runner: Make the test runner to use the new Job class

Signed-off-by: Lucas Meneghel Rodrigues <lmr@redhat.com>
avocado.test: Remove the run_test() function

As it is not necessary in avocado anymore.

Signed-off-by: Lucas Meneghel Rodrigues <lmr@redhat.com>
tests: Make all test modules self executable

Introduce the job.main() entry point in all avocado
test modules. This way all of them can be
executed. The functionality depends on
having avocado installed system wide, though.

Signed-off-by: Lucas Meneghel Rodrigues <lmr@redhat.com>