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
Port admin-actions API into v3 part1

This changeset only copies the v2 files into the appropriate v3
directories unchanged. The copy as-is will not be loaded by either
the v2 or v3 extension loaders. The second changeset will then
make the changes required for it to work as a v3 extension.

This is being tried in order to make reviewing of extension
porting easier as gerrit will display only what is actually
changed for v3 rather than entirely new files.

Partially implements: bp v3-api-extension-versioning

Change-Id: I11fd86cffb45851006338f8b6d2f87dad3aef467
Merge "xenapi: Tidy up Popen calls to avoid command injection attacks"
Merge "Port admin-actions API into v3 part1"
Merge remote-tracking branch 'm_src_repo/citrix-fixes' into build-temp