Transports: improve target management
Breaking change in the API.
- add a Target class to handle all the target-related configuration
- let the BaseWorker require an instance of the Target class and delegate to it for all the target-related configuration.
- This changes the BaseWorker constructor signature and removes the hosts, batch_size and batch_sleep setter/getter.
Bug: T171684
Change-Id: Ifd01a6f8ff3d6a5d7b02505599932a87e099dd90