Stop assuming persistent OVOs are also DictCompat
Stop assuming persistent OVOs are also DictCompat

Our existing `refresh` method in CinderPersistentObject assumes that the
any persistent Versioned Object will also be a CinderObjectDictCompat
object, which is correct with all old OVOs but may not be correct in
newer OVOs.

This patch removes this assumption and accesses fields as object
attributes, both in the current OVO instance (self) and in the ORM
instance retrieved from the DB.

Change-Id: I88d0ae2379fb0db8844052125e241b01d82ef86d

Datera/cinder,bswartz/cinder,eharney/cinder,Datera/cinder,NetApp/cinder,cloudbase/cinder,phenoxim/cinder,Nexenta/cinder,j-griffith/cinder,ge0rgi/cinder,bswartz/cinder,Nexenta/cinder,Hybrid-Cloud/cinder,eharney/cinder,Hybrid-Cloud/cinder,mahak/cinder,cloudbase/cinder,phenoxim/cinder,NetApp/cinder,j-griffith/cinder,mahak/cinder,openstack/cinder,openstack/cinder