When the hypervisor returns and error through the kernel
or when simply when the kernel returns an error, the ioctl()
call in userspace returns -1 with the error value in errno.

This lib_xc was dropping this useful errno value by only
returning the -1.  This change continues to propagate the
-errno value up the call chain.

The impetus for this change was xc_domain_getinfo() previously
it was not possible to distinguish the difference between an
error and the domainID (or greater) not existing in the hypervisor.
Now callers can compare the return value against -ESRCH to distinguish
the difference between errors and the domain not existing.

Signed-off-by: Josh Nicholas <jnicholas@virtualiron.com>
Signed-off-by: Ben Guthro <bguthro@virtualiron.com>