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.
Reorganise release notes

* Fixed a few minor wording issues
* Removed the overview section. I think the "What's new" headlines do a
  good job, and the existing content wasn't really suitable to give a
  nice overview.
* Reduced importance of "Customisation got easier" and "shipping app"
  by moving it further down the list. There's more exciting changes
  in this release, and nobody gets excited about us breaking backwards
  compatibility...
* Add release notes for search changes.
* Drop a random list of explaining product structure, probably a
  copy-paste error
* Moved "cleanup around shipping methods" section into breaking changes,
  because really they are. Also removed a duplicate entry, and the entry
  on the since removed upper_limit field.
Add partials/review_stars.html to reduce code DRY

@maikhoepfel: The reviews section had some changes on master, so I
re-applied them onto the new review_stars template. I also moved
the {% iffeature %} check back into the product detail template, because
I like having it there.

Closes #1466.
Add bootstrap style for select2

From https://github.com/t0m/select2-bootstrap-css

Conflicts:
	oscar/templates/oscar/dashboard/layout.html

Closes #1465.
Merge pull request #1392 from machtfit/offer-improvements

Offer customisation improvements
applies_to_tax_exclusive_prices has been removed in f03a7e8

Cherry-picked from #1414.
Fix typo in offers docstring

Cherry-picked from #1414.
Allow access to all non-voucher offers in offers dashboard

Cherry-picked from #1414.
Don't create objects in the database unless necessary

Conflicts:
	oscar/apps/offer/models.py
	tests/integration/offer/combination_tests.py
	tests/integration/offer/percentage_benefit_tests.py

@maikhoepfel duplicated the proxy class short-circuit logic for
Conditions as part of this commit.

Cherry-picked from #1414.
Apply offers in order of descending priority

This already worked only within site offers by way of default model
ordering. Site offers are probably the most common offers, however the
ordering of all offers has to be controlled by the applicator.

Conflicts:
	tests/integration/offer/applicator_tests.py

Cherry-picked from #1414.
Fix docs build errors

Had to rename to new method name and re-add a link.
Update i18n files

Pulled from Transifex.
Update LANGUAGES in settings with new languages

We have new translations above 50%, so they're added to the sandbox.
Update AUTHORS file with new contributors

No secret sauce there:
https://github.com/tangentlabs/django-oscar/wiki/Releasing#contributors
Bump version to 0.8-beta-1
Temporarily disable Transifex submission from master

This is necessary until we release Oscar 0.8 final, otherwise string
changes on master might break translations for 0.8.
Add robots meta tag to dashboard to disallow indexing