Migrate Instance object to Fields

Related to blueprint structured-object-fields

Change-Id: Icd8a22458b311c4ca10c1382e214e09b23cba36c
Migrate NovaPersistentObject and ObjectListBase to Fields

This actually uncovers an invalid testing scenario we had for lists,
which was using non-objects in the list-of-objects tests.

Related to blueprint structured-object-fields

Change-Id: I94609c1fd4a8b011e71bde7d9510ec2d3cb29868
Migrate some tests that were using callable fields

Related to blueprint structured-object-fields

Change-Id: I24207991e7385a7bbd2c56808d3cda76bed68ad8
Make the base object infrastructure use Fields

Related to blueprint structured-object-fields

Change-Id: Icd2944f17b6100d51007dbc48da90e4e992bbd48
Remove transitional callable field interface

Related to blueprint structured-object-fields

Change-Id: If0ffcd609fd58abd573926cda789bb6f722e28ff
Avoid caching quota.QUOTAS in Quotas object

This removes the local caching of the QUOTAS module in the Quotas
object. If we ever use deepcopy() on objects, this will cause
us trouble. Since it's not necessary, remove it for now.

Change-Id: I0d0e5fba9cd26c1648ff724238554478e65f62ea
Make a note about Object deepcopy helper

This adds some clarifying documentation on the NovaObject.__deepcopy__
helper.

Change-Id: I0d2e997a6826537c059e34fcfc8b894662d42ee3