ISPN-2173 NPE when using XA enlistment without recovery

If recovery is not enabled the call to forget() must be no-op instead of failing due to NPE.
ISPN-2549 Invalidation mode caches with pessimistic transactions may result in stale remote locks

* In transactional mode invalidateAcrossCluster() should not just send a bare InvalidateCommand to the other nodes. The invalidate command should be wrapped in a PrepareCommand so it executes in a transaction and locks can be acquired and release appropriatelly.

* EntryWrappingVisitor must also visit InvalidateCommands. This was not needed until now because invalidation was never executed in tx.