virt: aexpect support parallel unittesting

* Allow server's BASE_DIR to be set by caller.
  (allows sequestration of unittest test data)

* Allow Spawn class to alter server's
  BASE_DIR (supports unittesting)

Signed-off-by: Chris Evich <cevich@redhat.com>
virt: aexpect should timeout instead of busy-wait

Signed-off-by: Chris Evich <cevich@redhat.com>
virt: add aexpect common cleanup function

Signed-off-by: Chris Evich <cevich@redhat.com>
virt: aexpect classes should know server PID also

Signed-off-by: Chris Evich <cevich@redhat.com>
virt: includes server process in aexpect liveliness

Signed-off-by: Chris Evich <cevich@redhat.com>
virt: Add aexpect unittests

Signed-off-by: Chris Evich <cevich@redhat.com>
virt: aexpect server should log debugging info

Signed-off-by: Chris Evich <cevich@redhat.com>
virt: aexpect shouldn't have empty string reader list

Signed-off-by: Chris Evich <cevich@redhat.com>
virt: Add more aexpect unittests

Signed-off-by: Chris Evich <cevich@redhat.com>