Introduce loud get_model loader

Django's get_model returns None if the import fails, which causes subtle
bugs further down the line. This change introduces a wrapper around it
which raises an ImportError instead, hence catching the error as early
as possible.
Switch to Oscar's get_model function

This should always be used instead of Django's silent version.
Fix ImportError highlighted by switch to loud get_model loader

forms.py was using the wrong import statement to load the User model.