[FEATURE] Allow to cache Doctrine ORM query results
This change allows to cache query results in the persistence layer.
The caching can be switched on by setting the new $cacheResult flag
on Repository->findBy(), Repository->findOneBy() and Query->execute().
In addition the caching can be switched on globally by setting::
to TRUE. Keep in mind this might have unexpected side effects.
Note: The caching is only implemented for the Doctrine persistence.
When using generic persistence it has no effect.