!str #15289 Java API for ActorPublisher and ActorSubscriber

* had to change api because of trait+object not useable from java
* ActorSubscriber.RequestStrategy and its implementations moved to
  top level
* messages moved to ActorSubscriberMessage and ActorPublisherMessage
  object

Refs #15289
yes, that is the thing, and the reason why I had to change from the original approach of placing messages in the "companion object" of the `ActorSubscriber` trait.
Static forwarders are not generated in object when there is a trait with same name.