Ties each NeoStoreTransaction to the transaction state object

instead of in a shared (and synchronized) ArrayMap to completely remove
that contention point. It's not an optimal place for those objects, but
it's temporary fix at least.