Fix InMemory shard transaction chaining.
In case we had multiple transactions going after each other quickly
the next transaction might not observe the state of the previous transaction yet.
Fix this by reusing the DataTreeModification of the previous transaction.
Also introduce state transitions into InMemoryDOMDataTreeProducer so it
behaves more like a transaction chain.
Change-Id: I96c746c1b91ac9f6b87152dca612094c73c23387
Signed-off-by: Tomas Cere <tcere@cisco.com>
(cherry picked from commit
7d8e59521efbfadd55de34f645db8a8692de6564)