avocado.utils: Split download and url related libraries

To avoid a few oddities inside avocado code.

Signed-off-by: Lucas Meneghel Rodrigues <lmr@redhat.com>
avocado.utils.path: Add get_path API

Signed-off-by: Lucas Meneghel Rodrigues <lmr@redhat.com>
avocado.utils.io: Add logging related functions

So we can introduce aexpect.

Signed-off-by: Lucas Meneghel Rodrigues <lmr@redhat.com>
avocado.utils.process: Add PID manipulation APIs

So that we can do things such as killing an entire
process tree, necessary for aexpect functionality.

Signed-off-by: Lucas Meneghel Rodrigues <lmr@redhat.com>
avocado.utils: Add aexpect library

Add aexpect, a near exact copy of the code that
has been used by virt-test for a long time. It
is a library for controlling interactive process,
similar to pexpect, but with some additional
properties:

* Programs may stay alive between tests and jobs
* More sophisticated class structure

Signed-off-by: Lucas Menghel Rodrigues