Fix memory leak in DiskLayer

Two fixes - one lowering the overhead of .equals on XIDImpl, and a second, more important, that removes a memory leak on data source restarts.

The small one is covered by existing tests, the large one I can't think of a way to test beyond the large test we wrote to weed out the issue - which requires a profiler plugged in to detect the issue. We've verified that, with the fix in, there are no detectable reference leaks on NeoDS restarts.