Sylius search

Hello Guys,

This is my initial pull request for the Sylius search feature as outlined on https://github.com/Sylius/Sylius/issues/1583

Within SearchBundle there is a README file with a few instructions on how to use the bundle. This explains the notion of the finder and how it can be used optionally with facets for different situations such as a front-end category page, the main search results page or through the backend interface. 

At this time I have implemented support for small applications using ORM (mysql actually) and larger ones with ElasticSearch. It should be easy to add more engines in future.

There are a few TODO comments in the code mentioning our decisions and what can be changed in the future, but I'm hoping for some feedback and guidance first.

Videos created for demo purposes:
http://youtu.be/mACQeN1UNzQ
http://youtu.be/XBfxdrlQyzM

Regarding Behat tests there are 2 modes, one for mysql and one for elastic search. Keep that in mind when you want to run them.

![screenshot 2014-08-12 15 20 58](https://cloud.githubusercontent.com/assets/1845809/3892445/61286522-2232-11e4-81dd-c9d4560270ec.png)

![screenshot 2014-08-12 15 56 39](https://cloud.githubusercontent.com/assets/1845809/3892447/6421eb04-2232-11e4-8130-2b847fe6fecf.png)


Yeah we've discussed this and there's some work to do to make the search more model-independent. 
One of the requirements for Search on Reiss is to ensure that we can show different types of result together on a page: Products, Stores, Content Pages, Looks, etc.  Currently the code is not quite where it needs to be for this, as there's quite a lot Product-dependence here and in the Finders.

We will need a custom paginator to achieve this calling repositories relevant to the indexed model, rather than using any particular entity/model repository directly accessed.

We've discussed it here and @agounaris will re-post once it's refactored.