Update queryset manager method names

Django deprecated the old spelling a while ago, and warns aggressively
in Django 1.7. A simple rename is all it takes to fix.
Use get_registered_model to load User model in Django 1.7

In Django 1.7, get_user_model fails if the app cache isn't ready. As we
have to use it in many places in Oscar, this commit essentially loads
the User model like we load any other model in Oscar. This circumvents
the check for the model registry being ready.
Otherwise, there's major problems trying to avoid imports that trigger
the call to get_user_model (e.g. in forms and test factories) before the
first model is loaded (which then triggers Django's app load sequence).
Revert "Use string notation for factory boy factories"

This reverts commit f243314e55fefe7211158d97f1ce909398f35f13.

I mistakenly assumed that the string notation would delay the loading of
the model class as it does e.g. when used for ForeignKeys or in the
AUTH_USER_MODEL. But in fact it achieves the opposite, it not just loads
the model, but it requires the entire model registry to be present!

This has been reported in
https://github.com/rbarrois/factory_boy/issues/160

Until then, we need to stick to the old syntax.