Rename --unique-id to --force-job-id

Also improve its documentation, explaining that users should
not use this option unless they know exactly what they're doing

Signed-off-by: Ademar de Souza Reis Jr <areis@redhat.com>
avocado.plugins.runner: Validate --force-job-id

Job ID needs to be a 40 digit hex number. Error out if it's not.

Includes functional tests

Signed-off-by: Ademar de Souza Reis Jr <areis@redhat.com>
core.job_id: rename get_job_id() to create_unique_job_id()

The name get_job_id() doesn't reflect the fact that this
function returns a new job ID everytime it's called.
core.job.id: improve create_unique_job_id()

The previous implementation was mixing non-random information with
random data before applying a hash on top of everything. Given that,
we couldn't use the hash later to validate the information and the
entropy was limited to 64 bits, which was the random part.

So I've got rid of the sha1 code and just used a 160 random number.

A future improvement would be the use a random number in the first
part of the ID (a salt) and a hash of relevant information in the
second part. In pseudo-code:

    info = hostname, date, list of tests, etc
    salt =  str(hex(getrandbits(120)))[[2:-1]
    hash = sha1(info).hexdigest()[:10]
    return salt+hash

Includes a functional test to check the ID is indeed a 40 digit hex
number.

Signed-off-by: Ademar de Souza Reis Jr <areis@redhat.com>