Research and rework Oscar's search app

_The whole treatment of search needs attention.  This is a work-in-progress issue to track requirements and open questions_

Requirements:

* Oscar should ship with a good default search that supports faceting and is easily customised.  But, for complex sites, it should be completely overridable.

Questions:

* Do we need Haystack?  We could only support Solr and put effort into writing a strong e-commerce-specific Solr adaptor.
* Should Oscar ship with search autocomplete?  Can this be made easy to configure/override?  Should we include autocomplete javascript?

Tasks:

* [ ] Add faceting support to sandbox (there is some faceting in the python code)
* [ ] Install Solr in the Oscar Vagrant box
* [ ] Document how Solr can be configured (eg provide sample schemas)
* [ ] Investigate using Haystack without the database lookups (see http://django-haystack.readthedocs.org/en/latest/best_practices.html#avoid-hitting-the-database)
* [ ] Use dynamic imports for views/forms in `app.py`
* [ ] Improve the suggestions view to return more product data (eg images, descriptions)