Refactor get_model[s]

The first four commits of this pull request modernize and simplify Apps.get_model, and document it as a public API.

See the release notes for details of the changes. (The removal of seed_cache dates back to 742ed9878e7edbb7a11667c489c719c4d9ab82de.)