OGM-541 Caching translated JP-QL queries

@emmanuelbernard, @DavideD: I'm not fully done yet, but could you guys take a quick look so we know whether we agree on the general strategy?

The idea is to implement ORM's `QueryTranslator` SPI. This gives us many benefits, not only the caching but also handling of polymorphic queries, (I think) proper auto-flushing of affected query spaces etc. I'm cheating a bit though by delegating many things to the existing parser, but I think it's a good strategy to subsequently reduce this delegation step by step. WDYT?