Add user and chain timezone detectors

This PR mainly adds a **user timezone detector**, based on SonataUserBundle (if the bundle is enabled).

I also added a ``chain`` timezone detector, which is the new default one. It loops over the injected detectors (user and locale for the moment) and returns the first timezone which is found.

I also added tests for all of this.