Remove unused permissions

There's unused permissions on orders and partners that interfere with
our permission-based dashboard.
Introduce permission checking logic and decorator

Allows passing a list or two-tuple of lists of permissions that are
checked against the user.
Add support for permission checking to core Application class

Allows specifying default permissions and individual permissions based
on view names.
Move dashboard apps to new permission handling

Effective permissions are unchanged apart from catalogue views, which now
also allow users that have both partner.dashboard_access and
catalogue.change_product as permissions.

Includes tests.
Filter dashboard menu based on users's permissions

Introduces a default filter function that only returns dashboard menu
nodes that the user can access.
Add basic tests for dashboard filtering
Handle permissions for ProductDeleteView

Required updating tests.
Handle permissions for ProductListView

Added tests as well.
The left-hand field in dashboard is link

You can click on the left-hand field of a table in dashboard which links
to the detail page. See issue #638.
Replace None with -
Create new buttons are on the right top

Every simple button for *Create new* is placed now on the right top.
Complicated forms for creating new entities (eg. Create new product) are
still on their place, though.
Updated functional test for new category

The name of link was changed when moving 'New category' button right top
to 'Create new category' to match consistency with others dashboard
pages.
Added 'dig-style pagination'

Created additional pagination style `ellipses_pagination` which emulates
dig-style pagination, see issue #638. Instead of links only to previous
and next page, the list of page numbers is displayed. To prevent
displaying enormous number of page numbers, only couple of page numbers
are shown (first N, couple of pages around the current page, last N
pages). See `oscar/templatetags/ellipses_pagination.py` for algorithm
description.

The new pagination is not deployed as default pagination yet. You can
change that by changing partials to `ellipses_pagination` instead of
`pagination`.
Add "save now" button to editing offers

When editing an existing offer, there is an additional button to save
changes immediately instead of finishing all 4 steps of offer editing
wizard. Partially fixes #638.
Move filter button to stock alert table

Button to filter stock alerts had a separate table with only one button
in dashboard. In result, much space was wasted for this single button.
Add sortable column headings where appropriate

Partially fixes #638.
Add tab "Recently edited" for products
Allow a product to have multiple stockrecords
Introducing the "strategy" middleware

This is responsible for picking the appropriate strategy class for the
session and assigning it to the request.

The strategy class then is responsbile for returning the appropriate
price and availability wrappers for a given product.

A template tag is responsible for calling the strategy class with the
product to get the appropriate wrappers needed in the template.
Adjust customer-facing templates to use new strategy API