engine: Introducing using of Infinispan cache at TimeoutBase

The TimeoutBase was used for the following purpose:
1. The audit event which has expiration time was put to it internal cache
2. If the same event was tried to put again and it is expired, it was written to DB

Sound simple but a following implementation contains:
1. Memory leak - if we never tried to put event when it was already expired, internal cache
   never will be cleared
2. Restart - restart in the middle , event will be never send to DB

Solution:
I decided to use infinispan cache, from now if event has expiration time and it not contains in cache
it will be written to DB.
If event is contains in cache it will be skipped.
The cache has putIfAbsent() API which is similar to ConcurrentHashMap API, the entries are added to cache
with lifespan and will be cleared automatically by cache.

Change-Id: I2fbebb10c08c87d2c7fd4d7443d3e3b374541ed7
Signed-off-by: Michael Kublin <mkublin@redhat.com>