!con #15496 Make entries of shards persistent

- Move all entry related logic out of the ShardRegion and into a
  new dedicated child `Shard` actor.
- Shard actor persists entry started and passivated messages.
- Non passivated entries get restarted on termination.
- Shard Coordinator restarts shards on other regions upon region failure or handoff
- Ensures shard rebalance restarts shards.

Refs #15496 
I would call them something else. `persistent` will lead into thinking "oh, I'm using persistent actors, so I *must* use this flag", whereas the goal here is to "eagerly start them after migration" - not really related to persistence (perhaps having `preStart` run in some actor right after it has been rebalanced is our goal here etc.)