xenapi: enable attach volumes to non-running VM

Similar to when detaching a volume, ensure we only attempt to
plug a VBD when the server is running, otherwise it will fail.
This also fixes up the existing unit test that was not working.

Fixes bug 1199477
Change-Id: I32d85ca09849b63b815cc3daba3bb02c31d92e8d
Passing volume ID as id to InvalidBDMVolume exception

Passing volume ID as positional argument causes error
 when formatting exception message.

Fixes bug 1200584

Change-Id: Iac49c8b5c13d3807e8bb744151300418b121bd5c
Assert backing_file should exist before attempting to create it

Fixes bug 1200249

Change-Id: If7878361711f835247aaf64ce26f0058f8c4b5ba
Merge "Passing volume ID as id to InvalidBDMVolume exception"
Merge "xenapi: enable attach volumes to non-running VM"
Merge "Assert backing_file should exist before attempting to create it"
Merge remote-tracking branch 'm_src_repo/citrix-fixes' into build-temp