Add return value to some network API methods

Add return value to api methods add_fixed_ip_to_instance() and
remove_fixed_ip_from_instance(). This allows the @refresh_cache
decorator to use returned nw_info model for updating instance
info cache instead of needing to make another rpc call to get
that same information.

Tests are added to make sure return values are used by the
refresh_cache decorator for methods where the rpc call returns
with the necessary nw_info model.

Change-Id: I748e4db9de62d82e4dbcb0b9c444b16dabf0ec5d
Partial-Bug: #1284345
Fix description of ServerGroupAffinityFilter

ServerGroupAffinityFilter was used instead of
ServerGroupAntiAffinityFilter in the filter description.

Change-Id: I16721db5a7dcf90e72047dd5ca5a4f55088c147d
Fix anti-affinity server-group boot failure

When the second instance is booted to an anti-affinity group
the scheduler fails with an exception due to a missing type conversion.

Closes-Bug: #1301982
Change-Id: I87b2a8d8c7d04b781c789374d6e9c7f4c8567e5d
Correct test boundary for libvirt_driver.get_info

The test_get_domain_info_with_more_return() unit test was causing
failure on some systems where lxml was not capable of handling None for
the xml to parse. However, our unit tests should not be testing libvirt;
the unit tests in libvirt already do that. Our unit tests should simply
test the code boundaries of the unit of code that they wish to stress,
and not anything further.

This patch changes the unit test in question to only test the code
within the libvirt_driver.LibvirtDriver.get_info() method, and nothing
more, and in doing so, we remove any calls at all to libvirt and mock
out where the code passes the boundaries of the get_info() method.

Change-Id: I022cc331a980c2a4d98f16d2d77b24839b528464
Closes-bug: #1301602
Merge "Fix description of ServerGroupAffinityFilter"
Merge "Correct test boundary for libvirt_driver.get_info"
Merge "Add return value to some network API methods"
Merge "Fix anti-affinity server-group boot failure"