Rename Repository to Model.

Based on the discussion in #2660.

Update the RepositoryAwareTrait and repository related methods to use 'model' instead. Repositories are an implementation of the model in an application. Our users will want access to their models. Repositories
are an implementation detail in providing a conceptual model.

I can update the docs separately once this has been figured out.