* migrate PersistentIdentityService to use key.toShortString()
update definition of PublicKeyToExternalId mapping to allow fast lookup by externalId/publicKey
* fix misspelled table name
* add test of migration script
* add design document for proposal to move IdentityService to using the correct PK.toStringShort() method for hashing a publickey
* add enterprise testing considerations to design
* address review comments
* fix compilation errors
* modify PublicKeyToOwningIdentityCache to use toStringShort() as it's lookup key
* address syzmon's code review comments
Merged release/4 (Corda OS version 4.1) into a branch created from master (Corda OS version 4.3)
Conflicts:
build.gradle
client/rpc/src/main/kotlin/net/corda/client/rpc/internal/ReconnectingCordaRPCOps.kt
common/logging/build.gradle
common/logging/src/main/kotlin/net/corda/common/logging/CordaVersion.kt
constants.properties
core-tests/src/test/kotlin/net/corda/coretests/utilities/ProgressTrackerTest.kt
core/src/main/kotlin/net/corda/core/transactions/TransactionBuilder.kt
docs/source/api-contract-constraints.rst
docs/source/api-stability-guarantees.rst
docs/source/app-upgrade-notes.rst
docs/source/changelog.rst
docs/source/clientrpc.rst
docs/source/conf.py
docs/source/corda-network/UAT.md
docs/source/getting-set-up.rst
docs/source/network-builder.rst
docs/source/upgrading-cordapps.rst
docs/source/versioning.rst
node/src/integration-test/kotlin/net/corda/node/services/rpc/RpcReconnectTests.kt
serialization/src/main/kotlin/net/corda/serialization/internal/amqp/PropertyDescriptor.kt
serialization/src/main/kotlin/net/corda/serialization/internal/model/LocalTypeInformationBuilder.kt
tools/network-builder/src/main/resources/node-Dockerfile
tools/network-builder/src/main/resources/notary-Dockerfile