Attach cause to ComException on Client.start

This is to enable more investigation of a rare flaky failure of IndexOperationsIT.
Revert "Debug logging of cluster members state"

This reverts commit 89f93d3c986efe18574bb353453195893f8f0b9e.
Add missing entry for import in manpage list.
Merge pull request #3559 from chrisvest/2.2-indexops-it

Attach cause to ComException on Client.start
Merge pull request #3566 from lutovich/2.2-remove-debug-logging

Revert "Debug logging of cluster members state"
Merge pull request #3572 from nawroth/import-manpage

Add missing entry for import in manpage list.
Revert "Revert "Lock-free loading of relationships""

This reverts commit 11913455f8cbab4d601e72b4d4d3f08095e3e6ed.

I.e. it's a re-revert, hence a re-commit of
7bb2861dee3d0018a4e75c84841c8b71f818d6b9
Refactor TxState to separate read/write ops

By separating the read operations of the transaction state and the write
operations of the transaction state into separate interfaces we can
allow for API clients that only need to be able to read the state.

By ensuring that there is no overlap between the methods used for
reading and the methods used for writing (including in the internal
implementation - don’t use reader methods to access state for writing)
we can ensure that reading state never initialises lazy data structures.

When reading never initialises state we can allow reader methods to
return read-only objects when there is no state present, allowing us to
concentrate null checks to only a few places, and make the code that
reads the state simpler by having fewer special cases to deal with.
Include transaction state in counts