Improve docs for Application.permissions_map

This just led to confusion, so I decided to improve the docs a bit.

We really should be using Pytohn sets instead of lists for this.
Merge pull request #1554 from machtfit/disable-button-on-submit

Disable button on submit
Recompile CSS files

See https://github.com/django-oscar/django-oscar/commit/8e2b12647ba78a749b73c804d5d7c9df52d81afa#commitcomment-8502671
Remove conditions and benefits

Remove the conditions Coverage, Value and Count and the benefits
AbsoluteDiscount, FixedPrice and Multibuy. Add NoneCondition for offers that
apply to all baskets.

Reason is that the correct semantics are unclear and we don't need them now
and I don't want to spend time fixing the tests for them. I'll refactor
offers without them.

Example for unclear semantics:
https://groups.google.com/forum/#!topic/django-oscar/vceEpy889O4
https://groups.google.com/forum/#!topic/django-oscar/XMuhEBLbv-U
Refactor offers

To track benefit application on a separate data structure instead of the
basket line. This uncouples the database-bound basket from the offer
calculations.
Support multiple benefits per line
WIP Refactor checkout

This decouples the checkout flow from the individual checkout views.

There are now three checkout view mixins:

  1. checkout.session.CheckoutSessionMixin puts relevant checkout info in
     the template context. Pre and skip condition code has been removed.
  2. checkout.mixins.OrderPlacementMixin as before has the meat of making
     an order from a basket and handling payment. After placing the order
     control is returned to CheckoutFlow.
  3. checkout.flow.CheckoutFlow is new and manages the checkout flow.

CheckoutFlow provides checkout(), which uses the checkout session data to
determine the next step in the checkout, and redirects there. If all
steps are complete, it lets OrderPlacementMixin handle the basket to make
an order.

If a redirect payment method is used, the payment result view can call
checkout_failed() or checkout_successful() to return flow control to
CheckoutFlow. checkout_failed() will show the preview page again, and
checkout_successful() will redirect to the thank-you page. This allows
customizing this part of the flow independently of the payment
implementation.

The individual checkout views were stripped of pre and skip conditions and
other checkout flow code. The all use the CheckoutFlow mixin instead of the
CheckoutSessionMixin or the OrderPlacementMixin.
Move queryset_{description,icon} to Table class
Derive tables from correct base class to enable customizations
Introduce a customizable caption with the number of rows in it
Show number of categories in table caption
Update less to 1.7.3 and enable source maps

Don't use requirements-less.txt now, instead just use npm to install less.
Don't overwrite bootstrap error, success and information alert colors

http://getbootstrap.com/2.3.2/components.html#alerts

git blame doesn't reveal any useful information as to why this was added in
the first place.
Use bootstrap button color instead of the same color for all button types
Leave non-wysiwyg text areas alone

as was the intention according to the comment above the CSS rule.

Without this regulating the size of the textarea with
attrs={'rows': x, 'cols': y} was not effective.
Bigger font for inputs
Remove unused CSS

There's no category-selected in the Dashboard as far as I can find
Actually use the variables from variables.less
Set a bigger font size and more readable font

The previously used font was too thin.
Visually connect tabs with tab content through a well