use the Symfony CMF Routing component

credits: https://github.com/lsmith77 and https://github.com/stewe

to clarify, this needs no changes to the DB structure.

Advantages:
- routing is done inside the routing layer, rather than inside the controller
- no need anymore to prefix the paths with /p and /t (using a prefix is now optional but can of course cause collisions between routes)
- instead of having to know the route and the parameters, all that is necessary is to pass the given instance of a product or category

Open items:
- it should be possible to simplify the controller code further
- this could obviously also be used in the backend
- fix tests
- update composer.lock (didn't update so that we do not get a merge conflict there)

includes https://github.com/Sylius/Sylius/pull/1366