=act #15361 Require non-abstract actor class (earlier)

* It was detected previously as well when trying to find constructor,
  but with a perhaps confusing error message
=doc #13965 Fix wrong code sample for BalancingPool
=per #15459 Use full batching for persistAsync and defer
+per #15327 Add AtLeastOnceDelivery trait

* also remove final of around methods, and let deliver send when not recoveryRunning
Merge pull request #15338 from akka/wip-15327-reliable-redelivery-patriknw

+per #15327 Add ReliableDelivery trait
!per #15428 Deprecate deleteMessage
!per #15427 Deprecate deleteMessage and writeConfirmations in journal plugin api
!per Additional deprecations and cleanup
Merge pull request #15460 from akka/wip-15459-persistAsync-batching-patriknw

=per #15459 Use full batching for persistAsync and defer
Merge pull request #15449 from akka/wip-15361-abstract-check-patriknw

=act #15361 Require non-abstract actor class (earlier)
Merge pull request #15454 from akka/wip-13965-balancingpool-doc-patriknw

=doc #13965 Fix wrong code sample for BalancingPool
!per Change for journal plugin compatibility

* A few more adjustments, found when verifying source compatibility of a few
  journal plugins
* Note that PersistentId will be removed with deleteMessage and we should
  not break plugins because of that
* Add missing section of at-least-once delivery in migration guide
Merge pull request #15462 from akka/wip-15427-deprecate-delete-and-confirm-patriknw

Deprecate deleteMessage, writeConfirmations and some more
=per #15457 Correlate persistAsync handlers with journal messages

We have assumed that the handlers can be popped when replies come back from journal, but if messages to journal are in flight when the actor is restarted the handlers does not match up with journal replies.

This solution ignores journal replies that were emitted by an old PersistentActor instance
by passing an uid with the journal messages. This means that the handler will not be
invoked for such messages.