Add MergedModel and Unit tests

MergedModel is just that, a merged model, it will eventually hold on to
both source models and know about special information about the merged
model