Django 1.7 fix for payment models

Unfortunately, the payments app has been overlooked when adapting to
Django 1.7. Until this commit, it's not possible to override the payment
models.
Use string notation for factory boy factories

This avoids the imports triggering a population of the model registry,
and makes debugging model registration easier.
Remove unused customer/apps.py

This was accidentally added in 6503eb53, but is not used anywhere.
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.
Ensure a Bankcard's type isn't lost after saving

Before this change, the type of a bankcard would be clobbered by saving
and reloading.

Fixes #1486, #1487
Avoid infinite recursion using custom sandbox benefit

Need to explicitly define a name.
Indentation
Make the flash message about basket total more friendly

And more consistent with the other flash messages that start "Your
basket ...".
Remove redundant heading on basket page
Regenerate CSS from LESS 1.7

No actual LESS changes, but the newer version of LESS emits floating
points with a different precision, hence the large diff.
Ensure price uses a large font-size on detail page

This was a regression due to some heading refactoring.
Ensure category page title doesn't have double pipes ("||")

These were caused by a reworking of how the browsing templates were
structured.
Use a local fallback for jQuery-UI

However, the select2 dropdowns still don't work offline (due to the UI
CSS I think).
Fix bug with demo site template with wrong name

Missed from 1b2574dd
Remove virtual-(less|node)

I much prefer just using npm these days.
Remove Puppet (and Vagrant)

The puppet provisioning of the Vagrant box has been broken for ages due
to floating dependencies. I don't want to support it anymore since
Docker images are almost ready - hence why it goes.
Use CSS source maps

Taking lead from https://github.com/machtfit/django-oscar/commit/22041aab9952aac6683da86cd8c575e905d4252b
Adjust how the "action" param is submitted in order list page

Before this change, the "download as CSV" button wasn't working as there
were two hidden "action" inputs and only the value of the "change order
status" button was being picked up.

This change uses button name attributes to determine which button was
submitted.