Make _is_multi_host() use objects

This makes the network api _is_multi_host() method use objects
instead of direct database access so that compute manager can
call it directly.

Note that the previous unit tests for this method used the
random.choice() method to selectively test the is/is-not multihost
case. Unit tests should not be non-deterministic like this, for
coverage and stability reasons. This patch pulls out the two
possibilities for each into separate cases to ensure both are
tested.

Related to blueprint compute-manager-objects-juno

Change-Id: I432a759a666948f2cfaa29d82f749dc9a39141be
Merge commit 'refs/changes/38/84138/2' of git://gold.eng.hq.xensource.com/git/github/openstack/nova into tmpbranch