correction in model.__add__ method

I did some correction in model.__add__ method. So summation runs well in multiple ways:

model = single_model + single_model
model = composite_model + single_model
model = single_model + composite_model

I think there is some problem in the third summation method based on the original code.