objects: Fix InstanceGroup.obj_make_compatible()

The obj_make_compatible() method of the InstanceGroup object
incorrectly assumed the format of the version argument was the version
broken down into int() parts.  It comes in as a string and must be
converted.

Change-Id: Id2724c5029202f001e5a2b4371f030b65c72fdfd
objects: Add base test for obj_make_compatible()

A previous commit fixed a bug in obj_make_compatible() of the
InstanceGroup object.  While fixing that, I added a test targeted at
that object.  This patch adds a test that calls obj_make_compatible()
on every past version of every object.  It doesn't actually test that
the data is converted, but it makes sure that calling the method
doesn't blow up on something basic like expecting the wrong format of
the version parameter.

Only one object had to change for this test to work, and that was a
test object.  It assumed a field was always set, and it's not in the
case of this test.  However, the field in question is not actually set
as nullable, so it *should* be set.  However, the way these methods
are implemented elsewhere, they never assume the field to be set and
present in the primitive version of the object.

Change-Id: Id56b2f9763cfcb99a3c4a2d56329485c5e9c3b5c
Merge "objects: Fix InstanceGroup.obj_make_compatible()"
Merge "objects: Add base test for obj_make_compatible()"