=act #13942 Avoid allocations in LoggingReceived when disabled
+act #15383 add strict japi.Option.getOrElse to simplify working with options from Java
=per #15230 deprecate Channel and PersistentChannel

Conflicts:
	akka-persistence/src/main/scala/akka/persistence/Channel.scala
	akka-persistence/src/main/scala/akka/persistence/PersistentChannel.scala
	akka-persistence/src/test/scala/akka/persistence/serialization/SerializerSpec.scala
Merge pull request #15435 from ktoso/port-deprecations-channel-ktoso

!per #15230 deprecate Channel and PersistentChannel (for Validation)
Merge pull request #15430 from spray/w/add-japi-Option-getOrElse

+act #15383 add strict japi.Option.getOrElse to simplify working with options from Java
+per,+str #15035 Reactive-stream producers for persistent messages written by akka-persistence processors

(cherry picked from commit 5dc62400e4f2f9d7afe5efe93fc8bef5b9d226c0)

Conflicts:
	akka-docs/rst/scala/code/docs/persistence/PersistenceDocSpec.scala
	project/AkkaBuild.scala
=per #15429 Rewrite persistence documentation and samples for 2.3.4 changes

(cherry picked from commit 02351e32f110a8c4a249f0f3f84bae5898d1a836)

Conflicts:
	akka-samples/akka-sample-persistence-java-lambda/tutorial/index.html
	akka-samples/akka-sample-persistence-java/tutorial/index.html
	akka-samples/akka-sample-persistence-scala/build.sbt
	akka-samples/akka-sample-persistence-scala/src/main/scala/sample/persistence/ConversationRecoveryExample.scala
	akka-samples/akka-sample-persistence-scala/src/main/scala/sample/persistence/PersistentActorExample.scala
	akka-samples/akka-sample-persistence-scala/src/main/scala/sample/persistence/ProcessorChannelExample.scala
	akka-samples/akka-sample-persistence-scala/src/main/scala/sample/persistence/ProcessorChannelRemoteExample.scala
	akka-samples/akka-sample-persistence-scala/src/main/scala/sample/persistence/SnapshotExample.scala
	akka-samples/akka-sample-persistence-scala/src/main/scala/sample/persistence/StreamExample.scala
	akka-samples/akka-sample-persistence-scala/tutorial/index.html
Merge pull request #15444 from akka/wip-15429-persistence-docs-master-patriknw

=per #15429 Rewrite persistence documentation and samples (for validation)
+per #15424 Added PersistentView, deprecated View

A PersistentView works the same way as View did previously, except:

* it requires an `peristenceId` (no default is provided)
* messages given to `receive` are NOT wrapped in Persistent()

akka-streams not touched, will update them afterwards on different branch

Also solves #15436 by making persistentId in PersistentView abstract.

(cherry picked from commit dcafaf788236fe6d018388dd55d5bf9650ded696)

Conflicts:
	akka-docs/rst/java/lambda-persistence.rst
	akka-docs/rst/java/persistence.rst
	akka-docs/rst/scala/persistence.rst
	akka-persistence/src/main/scala/akka/persistence/Persistent.scala
	akka-persistence/src/main/scala/akka/persistence/View.scala
Merge pull request #15450 from akka/wip-15424-master-patriknw

+per #15424 Added PersistentView, deprecated View (for validation)
!per #15436 make persistenceId abstract in NEW classes

(cherry picked from commit de3249f7f4b859c3caa232e579d9a3bae7406803)

Conflicts:
	akka-samples/akka-sample-persistence-scala/src/main/scala/sample/persistence/PersistentActorExample.scala
Merge pull request #15456 from akka/wip-15436-abstract-persistenceId-master-patriknw

!per #15436 make persistenceId abstract in NEW classes (for validation)
+per #15327 Add AtLeastOnceDelivery trait

* also remove final of around methods, and let deliver send when not recoveryRunning

(cherry picked from commit 312b0d107a179accaf135f64ed9c3b78f3e351d1)
Merge pull request #15461 from akka/wip-15327-reliable-redelivery-master-patriknw

+per #15327 Add AtLeastOnceDelivery trait (for validation)
=per #15459 Use full batching for persistAsync and defer

(cherry picked from commit 20ac844b4f3999d0261f1a08957c2c2a8367c672)

Conflicts:
	akka-bench-jmh/src/main/scala/akka/persistence/PersistenceActorDeferBenchmark.scala
=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

(cherry picked from commit 15e964b13e91962474c7907787c37121aae8fd4e)
=doc #13965 Fix wrong code sample for BalancingPool

(cherry picked from commit 24ce0605ac954d516a52d9ce14624414c1c79933)
+act #15284 Add throws TimeoutException to Inbox.receive

(cherry picked from commit ab19cc8a527f1a01a8180c2b199affcb47e5b1d2)
Merge pull request #15414 from akka/wip-13942-LoggingReceive-optimization-patriknw

=act #13942 Avoid allocations in LoggingReceived when disabled
Merge pull request #15463 from akka/wip-15459-persistAsync-batching-master-patriknw

=per #15459 Use full batching for persistAsync and defer (for validation)