arrow-rs now has [zero-copy to PyArrow for RecordBatchReaders](https://github.com/apache/arrow-rs/blob/b2cf02c7a8a5027d037fc359323bc0ed45b943de/arrow/src/pyarrow.rs#L204). We could use this implement the execute_stream and execute_stream_partitioned methods for DataFrames [similar to the Rust DataFrame](https://docs.rs/datafusion/latest/datafusion/dataframe/struct.DataFrame.html#method.execute_stream).