Split out browsing all products from the category view

This makes the product category view much simpler and seems generally
cleaner.
Rework ProductCategoryView for readability

Since it's only a TemplateView, we can rename the internal methods to be
more readable. Should it be a DetailView though?

Conflicts:
	oscar/apps/catalogue/views.py
Use a separate template for category browsing

This avoids having logic in the template to switch between "all
products" and category browsing. It also allows some simplification in
the views.