Add DelegatingTransport which delegates all transport methods to its delegate

The delegating methods were all auto-generated with IntelliJ (hence the
docs are a copy).

We do this so that IntermediateEncryptingTransport can extend DelegatingTransport and override
only the specific data send/get methods to be able to encrypt (decrypt) the
data when sending it (receiving it) from the real transport.
This way, we can separate the encryption specific changes in IntermediateEncryptingTransport
and keep the other transport administration methods in DelegatingTransport

Bug: 139269919

Test: atest -v DelegatingTransportTest
Change-Id: I8ea90fc390fe870e026a7479ad10d140a06250c0
2 files changed