Don't require attributes for product variants

Previously, a variant was only added to the "Pick a variant" dropdown
when it had one or more product attributes set. This helps distinguish
variants with the same title, but should not be required by Oscar as
one can also set different titles for the variants.
Consistently list mixins before base classes

Most mixins will override functions of base classes and hence belong
before them.

Fixes #818