Use correct project/user id in conductor.manager

The project/user id of the user is not passed to the quotas.rollback
methods in conductor/manager.py if the instance is migrated by admin.
This fixes the issue by using the new quotas object to ensure the
right project/user id.

Change-Id: Ifdcfb62ed7eb0710bfdd921b0213be240a00345c
Closes-bug: 1296502
Add missing test for None in sqlalchemy query filter

In sqlalchemy a comparison against a non-null value will not match
null values, so the existing code at the end of
db.sqlalchemy.api.instance_get_all_by_filters() will not return
instances where vm_state is NULL.

This would be fine if the vm_state could never be null, but it
is declared as "nullable" in the Instance object. In many cases
"vm_state" will in fact have a value, but not all--in
get_test_instance() in test/utils.py the value of "vm_state" is not
specified.  There may be other similar cases.

Accordingly, this commit updates the test to explicitly check for None.

Without this fix the unit tests for bug 1292963 will fail because
the test instances have a vm_state of None.

Closes-Bug: 1294756
Related-Bug: 1292963
Change-Id: I271cff22dec160fd0e76abadefd0fe06d32c3227
postgres incompatibility in InstanceGroup.get_hosts()

The original code fails in postgresql with:

"No operator matches the given name and argument type(s).
You might need to add explicit type casts."

It looks like the problem is that postgres doesn't do
implicit casts, so I changed the code to check a different column
that didn't require any.

Change-Id: I9342ec2bfbdd991d5f7a238eca59af003c7e7eac
Closes-bug: 1292963
Merge "Add missing test for None in sqlalchemy query filter"
Merge "postgres incompatibility in InstanceGroup.get_hosts()"
Merge "Use correct project/user id in conductor.manager"