=per #15212 Avoid half written snapshots in LocalSnapshotStore
Merge pull request #15302 from akka/wip-15212-make-LocalSnapshotStore-more-robust-ban

=per #15212 Avoid half written snapshots in LocalSnapshotStore
+ben,pro porting akka-bench-jmh to 2.3 branch
=act log source example - trait takes type params
Merge pull request #15318 from ktoso/port-minor-typeannotation-fix

Port minor typeannotation fix
Merge pull request #15316 from ktoso/jmh-for-23

+proj porting akka-bench-jmh to release-2.3
=per #15131 Make LocalSnapshotStore fail if it can't create target directory
Merge pull request #15301 from akka/wip-15131-snapshotstore-directory-check-ban

=per #15131 Make LocalSnapshotStore fail if it can't create target directory
!per persistAsync

Breaks binary compatibility because adding new methods to Eventsourced
trait. Since akka-persistence is experimental this is ok, yet
source-level compatibility has been perserved thankfuly :-)

Deprecates:
* Rename of EventsourcedProcessor -> PersistentActor
* Processor -> suggest using PersistentActor
* Migration guide for akka-persistence is separate, as wel'll deprecate in minor versions (its experimental)
* Persistent as well as ConfirmablePersistent - since Processor, their
  main user will be removed soon.

Other changes:
* persistAsync works as expected when mixed with persist
* A counter must be kept for pending stashing invocations
* Uses only 1 shared list buffer for persit / persistAsync
* Includes small benchmark
* Docs also include info about not using Persistent() wrapper
* uses java LinkedList, for best performance of append / head on
  persistInvocations; the get(0) is safe, because these msgs only
  come in response to persistInvocations
* Renamed internal *MessagesSuccess/Failure messages because we kept
  small mistakes seeing the class "with s" and "without s" as the same
* Updated everything that refered to EventsourcedProcessor to
  PersistentActor, including samples

Refs #15227
Merge pull request #15308 from ktoso/per-persistAsync-ktoso

+per #15227 persistAsync for PersistentProcessor
=act #13678 #15149 Reply with ActorIdentity(None) from deadLetters
=rem #13923 Fixes hanging ActorSystem termination

* occurs on failed RemoteActorRef initialization
* fixed shutting down Netty when startup fails
* fixed registering ActorSystem's termination hook before ActorRefProvider
  initialization
* added new test case (checking if no threads left after a failed actor
  system initialization)

(cherry picked from commit 5e978220a5b0bd5c49668bb4b4db3808f27c6ce2)

Conflicts:
	akka-actor/src/main/scala/akka/actor/ActorSystem.scala
Merge pull request #15343 from akka/wip-13678-identify-deadLetters-patriknw

=act #13678 #15149 Reply with ActorIdentity(None) from deadLetters
Merge pull request #15344 from akka/wip-13923-backport-patriknw

=rem #13923 Fixes hanging ActorSystem termination (backport)
=con #15285 wrap message in RouterEnvelope before routing

PubSubMediator uses router which always unwraps RouterEnvelope messages.
However unwrapping is undesirable if user sends message in
ConsistentHashableEnvelope. Thus PubSubMediator should always wrap user
messages in RouterEnvelope which will be unwrapped by the router, leaving
user message unchanged.

Also disallow consistent hashing routing logic in pub-sub mediator.