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)


@stloyd I was thinking of this for a while. Keeping the query string helps, eventually, the admin to adapt descriptions and titles based on most common search strings, this small feature is mostly an analytics tool. 

This looks to me a bit irrelevant of system logging, debugging or user actions logging and currently it's coupled to which engine the end user will select for the full text search. In sylius and config_prod.yml I've noticed that the action_level is on error which is not something the search query is relevant to.

Still I'm not against using monolog, but I would like to listen to your opinion on this. Maybe the naming of this functionality should been different.