avocado.test: Default to get_logs_dir() as logs dir location

If we run avocado tests through nosetests, logs were
being generated in ~/avocado instead of ~/avocado/logs/run-[timestamp],
as normal tests executed by avocado do.

So, refactor the code that figures out the job directory
in job.Job() and move it to data_dir(). Make tests that
don't have a base_logdir set (such as instances executed
by nosetests) to use the same code, and we're all set.

Signed-off-by: Lucas Meneghel Rodrigues <lmr@redhat.com>
avocado.core.data_dir: Move avocado tmp location to /var/tmp

In newer systems, such as Fedora 19 onwards, the /tmp dir
is mounted on a tmpfs by default, and most users won't
ever disable this 'feature'. Some test suites were
not quite designed to run under tmpfs, hence they might
fail. Not to mention that sometimes the test suite might
be large, or generate large binary files so that tmpfs
won't be able to handle it.

So instead of storing test artifacts such as test suite
source code copies, and compiled test suites under /tmp,
let's use /var/tmp, that is not supposed to be wiped
through reboots, and usually is not mounted on tmpfs.

Signed-off-by: Lucas Meneghel Rodrigues <lmr@redhat.com>
avocado.job: Let's clean up test artifacts at the end of a test job

Introduce the --keep-tmp-files flag to the test runner,
that will keep them intact if for some reason we want to,
but by default clean test artifacts at the end of a test
job.

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