avocado.utils: Introduce data_structures module

Introduce a module with useful classes for use inside
avocado core code or plugins. We start with the Borg
class, a design pattern considered to be better than
the Singleton [1]

[1] http://www.aleax.it/5ep.html

Signed-off-by: Lucas Meneghel Rodrigues <lmr@redhat.com>
avocado: Create and keep track of avocado tmp dir safely

Currently avocado uses /var/tmp/avocado as the default
location for the avocado tmp dir. This is a bug from the
security standpoint, since a malicious user could create
a /var/tmp/avocado symlink pointing to an important directory
of the system.

So, instead of using /var/tmp/avocado, remove the ability
to configure the base tmp directory (other than the traditional
$TMPDIR environment variable), and make the data_dir.get_tmp_dir()
API to return a safe, non predictable temporary directory.

Recommended reading:

https://kurt.seifried.org/2012/03/14/creating-temporary-files-securely/
http://www.linuxsecurity.com/content/view/115462/151/

Signed-off-by: Lucas Meneghel Rodrigues <lmr@redhat.com>
Merge pull request #309 from lmr/fix-var-tmp_v2

[V2] Fix avocado tmp directory security issue