Remove metadata's network-api dependence on the database

This makes the metadata server use instance.info_cache for getting
an instance's info cache instead of going direct to the network-api
(and thus, the database) for it. It also converts the network-api
implementation of get_fixed_ip_by_address() to use and return an
object. Since that translates to the same DB call in the end, none
of the network tests need to change.

Conflicts:

        nova/tests/network/test_api.py

Change-Id: Iab444b1669628604f7d96d9550eb684645c554cb
Closes-bug: #1306009
(cherry picked from commit 20d0cef99376ca622294536485a5987385a717e3)
Merge "Remove metadata's network-api dependence on the database" into stable/icehouse