Piper/make overriding search handler easier

### What is the problem / feature ?

- No faceting support for the Elasticsearch on product listing pages (`CatalogueView` and `ProductCategoryView`)
- No easy way to specify the desired search handler class without heavy overrides.

### How did it get fixed / implemented ?

- Implemented a new search handler `ElasticsearchSearchHandler` which supports faceting for the Elasticsearch backend.
- Added a new setting `OSCAR_PRODUCT_SEARCH_HANDLER` which can be used to specify exactly what search handle you wish to use for listing pages.

Fixes #1566 


*Here is a cute animal picture for your troubles...*

![thanksgivingday-dog-and-cat 1 _2_crop](https://cloud.githubusercontent.com/assets/824194/5147678/bc1a1c64-7174-11e4-8e87-9d8ae421f582.jpg)