allow to be used as a sourced library

Split functionality into many functions.  Make functions use parameters
as much as possible instead of global variables.  Allow setupvm.sh to
be sourced from another shell script as well as to be used as a
standalone shell script.  Add several virtual networking functions for
adding mac/ip/host.  These use xmllint to parse the xml output of
commands such as virsh net-dumpxml.  Added support for passing in
yum repos to use as VM_YAML_REPOS, which specifies the name of the file
in yaml/cloud-init format that specifies the yum repos to use.  Add
support for PXE booted VMs.  Use VM_PXE=1 to tell setupvm.sh that the
vm will be PXE booted.
use latest lib389