Prevent result cache key collisions when sharing cache across different connections

There's an issue when using the default cache key generation for the result cache and using the same cache system across different connections as the generated key will be the same regardless of the connection used.

We can solve this just by using the connection params in the key generation. This issue is quite similar to the one fixed in [#1075](https://github.com/doctrine/doctrine2/pull/1075).
Assertion should be stricter here (`atLeastOnce` and `with` needed)