* ENT-2489: Trivial change to prep for multiple RpcWorkerServiceHubs (i.e. identities)
* ENT-2489: Allow passing `targetLegalIdentity` from Client RPC call.
* ENT-2489: Starting RpcWorker with multiple RpcWorkerServiceHubs (unfinished)
* ENT-2489: Starting RpcWorker with single (for now) RpcWorkerServiceHub
* ENT-2489: Tighten-up integration tests assertions
* ENT-2489: Introduce RPCOpsRouting
* ENT-2489: Output configs for reference
* ENT-2489: Extend test for RpcWorker to operate with multiple identities.
* ENT-2489: Remove un-necessary P2P address
* ENT-2489: New test for RpcWorker getting paid.
* ENT-2489: Make RpcWorkerMultiIdentityTest work
* ENT-2489: Use MAX_RPC_MESSAGE_SIZE when configuring RPC broker.
* ENT-2489: Add exception clause when client attempts to use the wrong identity.
* ENT-2489: Fixes post merge from `master`.
* ENT-2489: Fixes post merge from `master`.
* ENT-2489: Explicitly specify X500 name in test.
* ENT-2489: Use single flow worker and switch anonymity off when making payment.
* ENT-2489: Fix for RpcWorkerTest.
Add `NetworkMapUpdater` to `FlowWorkerServiceHub` or else no-one will ever send a signal on `networkMapCache.nodeReady` future.
Not having `networkMapCache.nodeReady` in completed state, will prevent SMM from operating properly.
* ENT-2489: Handle gracefully the fact that session might be already closed.
* ENT-2489: Fix incorrect merge from `master`.
* ENT-2489: Make `RPCOpsRouting` generic with regard to `RPCOps` following discussion with @mnesbit
* ENT-2489: Make `methodTable` uniform for all the legal names.
* ENT-2489: Make `ObservableContext` non-generic.
* ENT-2489: Tidy-up shutdown sequence post merge from `master`
* ENT-2489: Correct exception type thrown
* ENT-2489: Generics test compilation fix.
Also the --network-root-truststore default value has been corrected to be relative to the base dir.
The cliutils has been updated to always convert Path cmd line params to be absolute
* Make blobinspector use picocli base class
* Updated Documentation
* Update and harmonise documentation
* Give the table a bit more padding to help with merge conflicts
* Correct capitalisation of short options
* Some grammar changes
* Fix link in shell documentation
* The TypeSafe config parser wants extensions.sshd to be present in the config even though extensions is nullable
* Temp commit
* Make Standalone Shell use picocli
* Simplify gradle config for bootstrapper
* Fix logging dependency issues
* Revert "Temp commit"
This reverts commit f4efafcc9dce3a8fa26a270e3d8f34b282c8d24b.
* Fix quasarExcludeExpression
* Correct bootstrapper configuration
* Correct CRaSH capitalisation in docs
* Fix unit tests
* Fix help text typo
* Make logging level case insensitive
* Fix CRaSH capitalisation in help text
* Fix unit tests
Also add a unit test that exposes the problem.
Without these changes AMQP serialization fails with the following:
```
net.corda.serialization.internal.amqp.AMQPNotSerializableException: Constructor parameter - "reason" - doesn't refer to a property of "class net.corda.node.services.statemachine.SessionRejectException"
at net.corda.serialization.internal.amqp.SerializationHelperKt.toPropertyAccessorConstructor(SerializationHelper.kt:120) ~[corda-serialization-4.0-SNAPSHOT.jar:?]
at net.corda.serialization.internal.amqp.SerializationHelperKt.propertiesForSerializationFromConstructor(SerializationHelper.kt:107) ~[corda-serialization-4.0-SNAPSHOT.jar:?]
at net.corda.serialization.internal.amqp.custom.ThrowableSerializer.toProxy(ThrowableSerializer.kt:28) [corda-serialization-4.0-SNAPSHOT.jar:?]
at net.corda.serialization.internal.amqp.custom.ThrowableSerializer.toProxy(ThrowableSerializer.kt:12) [corda-serialization-4.0-SNAPSHOT.jar:?]
at net.corda.serialization.internal.amqp.CustomSerializer$Proxy.writeDescribedObject(CustomSerializer.kt:159) [corda-serialization-4.0-SNAPSHOT.jar:?]
```
This is a split-out change from an enterprise feature, but since we do have: `RPCApi.RPC_TARGET_LEGAL_IDENTITY` header constant even in OS, it would make sense to extend RPC client API to populate this.