Use an inner join on aggregate_hosts in aggregate_get_by_host

Fixes bug 1187708

By default, sqlalchemy.orm.joinedload does a left outer join.  But in
aggregate_get_by_host, we only want to get aggregates rows with
aggregate_hosts rows that match the host, and a left outer join also
gave us aggregates rows with no matching aggregate_hosts row.

Also improve test_aggregate_get_by_host to catch this bug.

Change-Id: Ida9647af02ab58229abe3c50dc3d2c7ec9792a5e
xenapi: remove auto_disk_config check during resize

This check was introduced by the following change:
7c5c8a743c21733120c85fdefb84b4357f5848d0

This is an alternative fix to ensure resize down
is not processed if the disk cannot be resized.

Note the failure now registers an instance action
and does not leave the VM in an error state.

In addition, this keeps the behavior that a failure
to resize up and instance during spawn will not
cause the operation to fail and put the VM into error.

fixes bug 1188135
fixes bug 1187934
fixes bug 1081225

Change-Id: I5b3dfdc7fcda26c55702dde6cdf191beee0c818c
Improve the performance of migration 186

This patch significantly improves the performance of migration 186 by
refactoring the migration code to use SQL joins. It does in no way
functionally change what the migration does.

It also adds a more robust test to make sure that there were no
regressions.

Change-Id: I654ed8dd229d774e8f680cae2b8d2ad2cf28550c
Fix and enable H403 tests

Multi-line doc-strings should end on a new, separate line.

Change-Id: I4cf0cfe92b634ef77971863a4df41ef43531bc20
Merge "Fix and enable H403 tests"
Merge "xenapi: remove auto_disk_config check during resize"
Merge "Improve the performance of migration 186"
Merge "Use an inner join on aggregate_hosts in aggregate_get_by_host"
Merge remote-tracking branch 'm_src_repo/citrix-fixes' into build-temp