Yet more optimisation for handling large quantities of models in the internal structural model.
Now when adding new models to the object, the model_indices and model_list objects are no longer
created. This saves much time as the large model_list is now not sorted. A number of structural
object methods have been updated to handle the change by switching to the model_loop() method for
looping over the models, rather than using the model_indices and model_list objects.