[FrameworkBundle][Translation] moved cache to Translation component (new PR)

| Q             | A
| ------------- | ---
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #10628
| License       | MIT
| Doc PR        |

This supersedes the PR #11197 (while including the changes made by it). I removed the `$options` argument for `Symfony\Component\Translation\Translator` and replaced it by a public method `enableCache($cacheDir, $debug = false)`. It aims to solve what @fabpot said about passing an array of options in #11197 
while not modifying the existing constructors
.
I added the call and improved the tests so they check that either you call `trans` or directly `loadCatalogue` with cache enabled no cache is actually written.