xenapi: agent not inject ssh-key if cloud-init

It is possible to have an image with both the xenapi agent and
cloud-init present, or an alternative agent that makes use of metadata
to configure a server.

To ensure the agent will not clash with the ssh key and file injection
of the agent, I have added image properties so we can disable these
agent operations on a per image basis.

The image properties this new code looks for are:
xenapi_skip_agent_inject_ssh=true
xenapi_skip_agent_inject_files_at_boot=true

DocImpact
Part of blueprint xenapi-guest-agent-cloud-init-interop
Change-Id: I416ade49663208769571fe0c9cf22c8fc1360244
Merge "xenapi: agent not inject ssh-key if cloud-init"