ISPN-3807 Cache the result of HQL query parser to be reused

Use a local cache with expiring entries to store the result of the HQL parsing and reuse it
if same query is executed.