Bug 2337: Fix Tx already sealed failure on Tx commit

Details outlined in bug 2337.

Moved the publishing of the TransactonContext instance in
TransactionFutureCallback#onComplete after the cached operations are
executed.

Also fixed a timing issue in
DistributedDataStoreIntegrationTest#testChangeListenerRegistration that
caused intermittent failures. This was an issue with the test. The
listener registration is done async in the shard so the notification for
the first write commit could occur in the initial notification on
registration which screwed up the test. So I moved the first write
commit before the registration so we expect an initial notification.

Change-Id: Ied2af93be8165208b853c48e57312c3a5acbdaea
Signed-off-by: tpantelis <tpanteli@brocade.com>