Cleanup EideticRequestMonitor
Fixed cardinality calculations for bidirectional patterns
Cleanup ReadableLogChannel and LogVersionedStoreChannel interfaces

- Rationale:
  there is obviously some conflation between ReadableLogChannel and LogVersionedStoreChannel interfaces -
  neither purpose is clear and while the functionality they provide is necessary, it is not abstracted correctly.

- Details:
  This PR tries to cleanup those interfaces by extracting and isolating the different abstractions in them, e.g.,
  decoupling the getCurrentPosition and getVersion/getFormatVersion from the read API in ReadableLogChannel.

  It also introduces more specialised interfaces like ReadableVersionableLogChannel which exposes log version
  information when necessary, i.e., when the channel is backed by a log file on disk. In this way we can clean
  up other implementations, like NetworkReadableLogChannel which does not contain log version info.

  Finally, a factory has been introduce to simplify the creation of LogEntryReaders according to the use case.
Added handling of optional match to QueryGraphCardinalityModel
Merge pull request #3056 from davidegrohmann/2.1-cleanup-eidetic-req-monitor

[2.1] Cleanup EideticRequestMonitor
Merge branch '2.1-maint' into 2.2-merge-2.1

Conflicts:
	enterprise/ha/src/test/java/org/neo4j/ha/monitoring/EideticRequestMonitor.java
	enterprise/ha/src/test/java/org/neo4j/ha/monitoring/RemoteRequestMonitoringIT.java
Ignore a flaky test in an unused component, which is going to be removed.
Some refactoring for Closeable implementors
making page cache stress test working directory be configurable so that we can run it on certain locations on the build
cleaned up references to enterprise-io
Merge pull request #3107 from lutovich/2.2-merge-2.1

2.2 <-[:merge]- 2.1
Unnamed varlength relationships are now properly named, and relationship predicates properly normalized
Merge pull request #3105 from pontusmelke/varlength-in-ronja

[master] Varlength relationships are now properly named
Merge pull request #3091 from pontusmelke/selectivity-biddirectional-patterns

[master] Fixed cardinality calculations for bidirectional patterns and optional match
Merge pull request #3085 from davidegrohmann/2.2-intf-cleanup

[master]  Cleanup ReadableLogChannel and LogVersionedStoreChannel interfaces
Merge pull request #3109 from lutovich/closeables_refactoring

[master] Some refactoring for Closeable implementors
Restructuring of store and transaction packages

o.n.k.i.
  nioneo.store --> store.{record,id}
  transaction.xaframework --> transaction.{log,state,command}

And various other classes moved to a more logical place.