Add ListOfDictOfNullableString field type

A new field type is added, it will be a list, with each item
in the list is a dict of string.

Implements: blueprint make-resource-tracker-use-objects

Change-Id: I4d3a310800afe344bc18c755658fc1dc3e792de8
Correct some IPAddress DB interaction in objects

We know that DB API methods want string addresses as parameters,
but often an object method will be called with data from that or
another object, which will be a netaddr.IPAddress in the case of
that sort of data. So, we should coerce those to strings to make
sure SA is happy.

This also fixes a small bit of DB-loading logic where a FloatingIP
would try to load its associated FixedIP explicitly. Obviously,
if it's not associated, it shouldn't try to do that.

Related to blueprint compute-manager-objects-juno
Closes-bug: #1351020

Change-Id: I97b4a86846020b58950f7c051cb003b7b09e938a
Merge "Add ListOfDictOfNullableString field type"
Merge "Correct some IPAddress DB interaction in objects"