App Loading: don’t suppress app-registry related exceptions

This is just asking for trouble in the future. If someone comes up with
an edge case, we should add a test for it
app loading: use ImproperlyConfigured for bogus app names

This never worked but we’ll be more consistent and return
ImproperlyConfigured instead of a generic LookupError
Fix app loading call signature

Updated code from #1016 to ensure that get_models always
returns a list (previously on Django 1.7 it would return
the bare model when called with an argument of the form
`app.modelname`)

Add some basic tests