Hazelcast Aggregation Repository

This patch introduces HazelcastAggregationRepository class that implements RecoverableAggregationRepository and OptimisticLockingAggregationRepository. This class uses a Hazelcast distributed maps as a backing store for operational and persisted exchanges.
This repository is aimed to support aggregation in an environment where multiple hosts run identical Camel routes which participate an aggregation process.