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>