Enable ELT pipelines in Meltano to be composable
This epic is for a large refactor to bring composable pipelines to Meltano.
The end goal of this would be to enable users to run an (nearly) arbitrary series of extract, load, and transform commands in a composable manner.
This would enable us to move away from confusing flags for transformation and elevate the transformation experience to bring parity with the Extract and Load experience.
The general priority for this features is as follows:
1. meltano/meltano#2897 - Refactor to conver plugins to leverage async patterns in hooks
1. meltano/meltano#2681 - Catalog discovery output in logs (not in this epic)
1. meltano/meltano#2301 - `meltano run`
1. meltano/meltano#2299, meltano/meltano#2300 - Stream maps (intermediate transformer between the tap and target)
1. meltano/meltano#2205 - support for docker-based invocations (dockerized taps/targets)
epic