feat(engine): 1st lvl cache reuse with exclusive jobs

Reuse the 1st level DbEntityCache for sequences of asynchronous
continuations executed by the same thread. (exclusive jobs).

Improves performance since the cache is not discarded when the command
context is flushed but reused by the next command.

Cache reuse is disabled by default, can be enabled by setting
"isDbEntityCacheReuseEnabled" to true.

Caches instances polymorphic types (such as JobEntity as super class of
MessageEntity and TimerEntity) under a common key.

related to CAM-2763