Fix bug in ModelObjectList and add unit test

On clone(), ModelObjectList kept a reference in an extensible group to
the original modelObject and added a new modelObject causing there to
be 2 ModelObjects in the list isntead of 1.

The unit tests now cover this scenario.