Kafka Flow Packs: Fix change instances logic

- Fix the immutable map issue
- Make the change transactional
- Added new tests
- Added log4j-over-slf4j as dependency
Verify using the Dataset counter table; it keeps a count for each message that the sink flowlet received