This replaces the merge model mechanism we were using and thunks
the DefaultModelBuilder - as all the methods are private, a combination
of trickery and groovy are necessary.

All  the tests work, we have more tests but cannot test the DefaultModelBuilder code.
We are sitting at 65% code coverage.

Tested with 3.0.4, 3.0.5, 3.2.2, and 3.2.3.

Change-Id: I930fef476fc740b7f542dbfed0e6380e480a46d8