!str #16400 Add Java API for StreamTcp

* move io.StreamTcp to scaladsl.StreamTcp
* add javadsl.StreamTcp that delegates to scaladsl implementation
* move impl
* add java test
It would be great if someone could enlighten me with the design thoughts of the various exceptions.
StreamTcpException vs ConnectionException vs ConnectionAttemptFailedException

As far as I can see the implementation does not match the documentation regarding ConnectionAttemptFailedException at the moment.