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.
ProductForm: fix bug when hiding related_products

The recent changes to the ProductUpdateView introduced a bug causing it
to break when the related_products field is hidden from the ProductForm.

This commit checks if the field is present before setting the queryset for
the related_products.
I also refactored the queryset out into a seperate function on
ProductForm to make it overridable.
Use BrowsableProductManager for related products

Was standard manager.
Add is_discounted field on ShippingMethod

shipping/models:ShippingMethod was missing the is_discounted attribute that
exists in the de-facto superclass in shipping/base:ShippingMethod.

Also added a few comments to clarify how they relate to each other, and
tests to check if is_discounted is present on various instances of
ShippingMethods.
Merge branch 'maikhoepfel-fix/PUchanges'
Merge pull request #504 from maikhoepfel/fix/formgotcha

Make ProductSearchForm customisable.
Merge branch 'tangentlabs-issue/527/shippingmethods'
Remove files when deleting models with ImageField

Delete the original file, created thumbnails and any entries in sorl's
key-value store.

Fixes #444.
Merge branch 'tangentlabs-issue/444/deleteimages'
Reorganise requirements.txt

* Annotate package categories
* Use version ranges where appropriate
Bump version of oscar-testsupport
Document the difference between the sandbox/demo sites

To explain what each was is intended for.
Document the sandbox urls.py

Replace TemplateView with defined helper views for error pages.
Document sandbox settings file

Thought it might be useful to comment on the Oscar-specific settings.
Adjust runtests to collect test paths

This allows an autocompleter to be written for faster test lookups.
Document the dependencies in setup.py
Fix bad path in nginx config for sandbox/qa sites
Set tabindex=1 on search input

Read about this here:
http://news.ycombinator.com/item?id=5330998

Seems like a good default.
Add 2 new example sites to README
Adding a signal on review added