Make ProductSearchForm customisable.

Note: Please review before merging.

All forms in the oscar.dashboard.catalogue app are overridable via the
common get_classes pattern, apart from the ProductSearchForm which is
imported directly from oscar.dashboard.catalogue.forms.
I've grepped through the source code, but couldn't find any hints on
why that would be necessary. As ProductSearchForm is quite simple
(not a ModelForm, and just two fields) I deemed it a bug and updated the
code to allow customising like everywhere else.
The tests run through fine, and the sandbox site works as expected.
Adding transactions listing on order details, payment tab
Forgot to add the currency filter
Adding a config option to set a paginate_by for products
Changing OSCAR_PRODUCTS_PAGINATE_BY to OSCAR_PRODUCTS_PER_PAGE
Fix for <form> action attribute.

Old behavior is to default to action="." if no action is given. The dot
makes the browser submit to the URL specified, but drops any GET
parameters if the form is POSTed.
A common case of mixing POST and GET parameters is supplying ?_popup=1
to a popup. The view processes the form data in POST as usual, but then
might return a different HTTPResponse if 'popup' was supplied, e.g.
return Javascript to close the popup.

My fix drops specifying 'action' if none is given. This is okay in
HTML5 and HTML3, and defaults to the URL (including GET parameters).
It's required in HTML4, but as far as I know handled gracefully in
all browsers.
Adjust email auth backend to allow emails to contain capitals

Before it was lower-casing everything first which prevented users being
able to login if their email address contained capitals.  We now only
lower case the host part as this is case-insensitive.

Fixes #505
Add Meridian as an example Oscar site
Fix bug with updated auth backend

Now it checks to see if an email is being submitted.
Adjust attribute container behaviour

It now raises an exception if initialising and the attribute can't be
found.
Improve flash message handling

Add better tag handling (by creating a new template filter) and allow
icons to be disabled.

Fixes #482
Improve product class admin display
Adjust handling of product classes which don't track stock

* Remove the default of 0 on num_in_stock field
* Look at the product class setting when determining if a product is
  available to buy.

Fixes #459
Adjust offer dashboard in light of UX comments

* Move status within detail page to indicate that it isn't directly
  editable.
* Add description to sidebar summary
* Use JS to hide/show value field in benefit form

Fixes #498 (well, most of the points anyhoo)
Prevent handling signals when loading fixtures
Add lost German translation
Add documentation to change URL patterns
Fix syntax error in docs code example
Rework URL customisation recipe

More focus on integration into root urls.py
Improve comments on price fields on stock record