Fix GC overhead of XidImpl

- Only allow equality of XidImpl instances, not the Xid interface,
  reasoning being that hashCode cannot be equal to other xid impls since
  there is no standard, and getting a xid that isn't a xidimpl is an error,
  since the xids come from our tx manager, we do not manage other xids.

- Don't copy the branchID and globalId arrays on every equaylity check
Fixed a memory leak in DiskLayer on HA restart.

- DiskLayer no longer uses an anonymous inner class for the lazy property
  loading, as this would cause a memory leak on data source restarts.
Merge pull request #2356 from jakewins/2.0-leak

Fix memory leak in DiskLayer