Count memory and disk slots once in cells state manager

If multiple instance types in a cell had the same memory_mb value or
root_gb + ephemeral_gb added to the same value, then capacity counts
would be inaccurate since slots would get counted multiple times.
Rather than counting based on instance type it is now based on the set
of memory or disk values pulled from instance types.

Change-Id: Iaded7fa69dadb4aa0335ef1569975bdfcb2767c6
Closes-bug: #1276728
Make floating_ips module use FixedIP object

This makes the network.floating_ips module use the FixedIP
objects instead of direct database interaction.

Related to blueprint nova-network-objects

Change-Id: I09505d480bae0f764b1edf92722e1d2ed1652e61
Merge "Count memory and disk slots once in cells state manager"
Merge "Make floating_ips module use FixedIP object"