* Make entity with Start / Stop functions idempotent
* Remove misleading / unnecessary dynamic configs related to NDC
* Minor issue fixes
NOTE:
* when running in `kafka` replication mode, both tx and rx will use Kafka replication stack
* when running in `kafka-to-rpc` replication mode
* tx will use RPC stack
* rx will use both RPC stack and Kafka stack
* when running in `rpc` replication mode, both tx and rx will use RPC replication stack
* Remove unnecessary dynamic config related to workflow max timeout
* Remove unnecessary dynamic config related to workflow task timeout
* Handle tasks TTL in matching service properly
* Handle activity without timeout
For Temporal clusters with a large number of shards, a single go-routine that acquires all the shards causes significant latency when a history node is starting up as it loads the shards one-by-one.
This fix increases the number of goroutines to "10" as that should not cause any issues for existing clusters, but will yield a significant benefit to clusters with a larger number of shards.
We verified this on a cluster with a large number of shards and saw dramatic improvement in overall shard acquisition time.
Ideally, the number of goroutines should be calculated based on a ratio of the total number of shards to make this slightly more flexible. This can be done in a future check-in.