Make migrations work with custom user model

Oscar's migrations are currently tied to the ``auth.User`` model but with Django 1.5 introducing the custom user model this causes problems when you don't want to override all Oscar apps that have a model related to the user and create fresh migrations.

I've looked through all apps and their migrations and changed them to use the custom model in the actual schema migration instructions as well as in the FakeORM part of the migrations. I am not sure if my suggestion has any implications on backwards compatibility or might cause issues further down the line when we create new migrations? Any thoughts on this?

I've also found a hard-coded reference in the ``partner`` app in 92e8481 which I have fixed. I've put it into a separate commit so I can be cherry-picked easily.