Allow specifying other model attributes when creating custom benefits or conditions

For example, a custom benefit class might want to make use of
get_applicable_lines, which needs a range on the benefit.
Don't break sentence spelling/grammar in German.
Make Benefit classes more reusable

Custom Benefit classes can now derive from PercentageDiscountBenefit or
AbsoluteDiscountBenefit and dynamically pass a discount value resp.
percentage as well as a maximum total discount amount.
The code handles the no applicable lines case well without this statement

At also allows me to remove the complexity exemption.
Merge branch 'css-changes' into machtfit

* branch css-changes:
  Leave non-wysiwyg text areas alone
  Use bootstrap button color instead of the same color for all button types
  Don't overwrite bootstrap error, success and information alert colors
  Update less to 1.6.2 and enable source maps
Merge branch 'get-model-problem-workaround' into machtfit

* branch get-model-problem-workaround:
  This is the real fix. Hopefully.
  Just log that for now until we figure this out.
Merge branch 'django-tables2' into machtfit

* branch django-tables2:
  TODO
  Allow table icon customization
  Move dashboard categories list to django-tables2
  Move table caption into <table><caption>
  Keep current tab and ordering when returning to the list after editing
  Move the dashboard product list to django-tables2
Merge branch 'checkout-remove-noise' into machtfit

* branch checkout-remove-noise:
  Remove alert that is irrelevant to the user

https://github.com/tangentlabs/django-oscar/pull/1321
oscar merged this
Merge branch 'report-timezones' into machtfit

* branch report-timezones:
  Make timezones work with USE_TZ=True

oscar merged this
Merge branch 'build-submission-arguments' into machtfit

* branch build-submission-arguments:
  Rename arguments to match what build_submission returns

oscar merged this
Merge branch 'use-parent-method' into machtfit

* branch use-parent-method:
  Use parent method to support all behaviour overriding options

oscar merged this
Merge branch 'spelling' into machtfit

* branch spelling:
  Correct spelling
Merge branch 'load-form-dynamically' into machtfit

* branch load-form-dynamically:
  Dynamically load form
Merge branch 'dynamic-subdomain' into machtfit

* branch dynamic-subdomain:
  Extract the password reset url into a method
Merge branch 'allow-fallback' into machtfit

* branch allow-fallback:
  Allow fallback to standard template_name
Merge branch 'redirect-to-parent-optional' into machtfit

* branch redirect-to-parent-optional:
  Make it optional to redirect to the parent
Merge branch 'simplify-basket-form-tag' into machtfit

* branch simplify-basket-form-tag:
  Simplify basket_form tag implementation
Merge branch 'offer-improvements' into machtfit

* branch offer-improvements:
  The code handles the no applicable lines case well without this statement
  Make Benefit classes more reusable
  Don't break sentence spelling/grammar in German.
  Allow specifying other model attributes when creating custom benefits or conditions
Bump version.