Fix cinder objects unit test registration
The base test case was extending test code from oslo_versionedobjects
which is bad because (1) it was adding test objects from the o.vo
registry into the cinder object registry and (2) it was extending
internal private test classes from o.vo which are subject to change and
would break cinder.
This cleans up the base test case and object registration to basically
do it the same way that nova does.
It also moves the duplicate _compare() method into the base class and
fixes a bug where db obj fields that were lists were compared
incorrectly against object lists.
This will allow us to verify object version hashes using o.vo's
ObjectVersionChecker fixture in a follow on change without the
extraneous object registrations from o.vo messing with the results.
Partial-Bug: #
1514926
Change-Id: Ie34675e378951cda9aa218f3181dc86767717450