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)


Why calling database twice? Can this be in one query?
```
$qb->select('product.id');
$qb->join('product.taxons', 'taxons', 'taxons.name = "$taxonName"');