xenapi: Tidy up Popen calls to avoid command injection attacks

 * Rewrite xenhost._run_command and xenstore._run_command to use
   utils.make_subprocess and utils.finish_process
 * Change exception raised by utils.finish_process to retain information
   needed by calls in xenhost and xenstore

Change-Id: Idcdb50bededf0acde92f1774d6752043ba8f97ce
Fixes: bug #1074087
Merge "xenapi: Tidy up Popen calls to avoid command injection attacks"