Half-fix based around tracking current transaction

* Only make region valid when the current transaction is different to
the one that initiated the region eviction.
* It does not work if there's any puts after the evict call, because
they won't affect the cache.