XenAPI: get_info was very expensive

Getting the whole VM record is expensive and slowed down Tempest tests
significantly.  Replaced with getting each required item.

When getting power state, only need that specific value, so reduce the
calls to get_info too.

Change-Id: I93bcef5b692a531aac41518dc29d5d4f46cded65
XenAPI: Tidy calls to get_all_ref_and_rec

get_all_records is more efficient than getting them individually in the
old get_all_ref_and_rec implementation.

Replaced some cases of get_all_records with a faster and more
specific API call.

Change-Id: I4725c3f1fdebdf1737941cb7db69b19afb22df9f
XenAPI: Speedup get_vhd_parent_uuid

In many cases the VDI record has already been retrieved.
Use it rather than expensively getting a new VDI record from XAPI.

Change-Id: I469e2a415c1f1924010f47d3927ca18c45a7b8f8
XenAPI: Use get_VALUE in preference to get_record()['VALUE']

Replaces calls to get_record where only a single item is retrieved
from the record with the specific get_VALUE call.

Change-Id: I52e20c4f4c9d6a6ad019694916ee057cc96b18a6
Merge commit 'refs/changes/53/58753/10' of git://gold.eng.hq.xensource.com/git/github/openstack/nova into tmpbranch
Merge commit 'refs/changes/54/58754/12' of git://gold.eng.hq.xensource.com/git/github/openstack/nova into tmpbranch
Merge commit 'refs/changes/55/58755/11' of git://gold.eng.hq.xensource.com/git/github/openstack/nova into tmpbranch
Merge commit 'refs/changes/61/58861/11' of git://gold.eng.hq.xensource.com/git/github/openstack/nova into tmpbranch
Merge commit 'refs/changes/53/60253/7' of git://gold.eng.hq.xensource.com/git/github/openstack/nova into tmpbranch

Conflicts:
	nova/virt/xenapi/vm_utils.py
Merge commit 'refs/changes/08/60808/6' of git://gold.eng.hq.xensource.com/git/github/openstack/nova into tmpbranch
Merge commit 'refs/changes/78/63778/1' of git://gold.eng.hq.xensource.com/git/github/openstack/nova into tmpbranch
Merge commit 'refs/changes/38/66338/7' of git://gold.eng.hq.xensource.com/git/github/openstack/nova into tmpbranch
Merge commit 'refs/changes/97/66597/3' of git://gold.eng.hq.xensource.com/git/github/openstack/nova into tmpbranch