Add relationship between a test and the job it's being run on.

It's very useful for a given test to be able to get information
on the job it's running. For instance, if we want to notify
a server that a test has failed, the unique identification of
the failed test will be its tag together with the unique job id.

Signed-off-by: Cleber Rosa <crosa@redhat.com>
avocado/job.py: give every single job an unique id

This is either generated automatically when the job is manually
run on a test machine, or generated by a test server and passed
along to the job on the machine that will run it.

The second use case creates a relationship between the server
that initiated the test and the running test itself, so that it
can identify itself back to the server.

Signed-off-by: Cleber Rosa <crosa@redhat.com>
Introduce test journal plugin

This plugin keeps a record of status changes to the tests
during a job. Each one of the status changes can then be
sent to an avocado server to give feedback to the test owner.

Signed-off-by: Cleber Rosa <crosa@redhat.com>
Merge pull request #34 from clebergnu/journal

Journal plugin