Port flavor_access extension to v3 API Part 2

Ports the flavor_access extension and the corresponding
unittests to the v3 framework.

Partially implements blueprint nova-v3-api

Change-Id: I671f490bad2daaaae06d48328f4fff10076ab0ed
Sync to_primitive() IPAddress support from Oslo

This enlightens to_primitive() that it may just call str() to
serialize netaddr.IPAddress objects.

We need this for NovaObject serialization through legacy interfaces
temporarily while we migrate things.

Related to blueprint unified-object-model

Change-Id: Ibdee90e4bbd337d541344977e2a689982e0a7d34
Merge "Port flavor_access extension to v3 API Part 2"
Merge remote-tracking branch 'm_src_repo/citrix-fixes' into build-temp