ARROW-12187: [C++][FlightRPC] Add compression benchmark for stream writing
ARROW-12187: [C++][FlightRPC] Add compression benchmark for stream writing

Original uncompressed payload size is used in throughput calculation,
not the compressed size. So the result can be compared directly with
non-compression benchmark to see if compression helps performance.

**NOTE:** Flight benchmark uses random data for payload, it's hard to be
compressed. Actually the compressed size (zstd, lz4) is larger than
original size. So the benchmark result reflects the worse case how
compression can influence performance.

Example test result:

- No compression
  $ arrow-flight-benchmark -num_streams 1 -num_threads 1 -test_put
  *Speed: 2941.53 MB/s*
  *Latency: 40 us*

- ZSTD with default compression level
  $ arrow-flight-benchmark -num_streams 1 -num_threads 1 -test_put -compression zstd
  *Speed: 1205.66 MB/s*
  *Latency: 101 us*

- ZSTD with high compression level
  $ arrow-flight-benchmark -num_streams 1 -num_threads 1 -test_put -compression zstd:19
  *Speed: 47.6882 MB/s*
  *Latency: 2618 us*

Closes #9902 from cyb70289/flight-bench-compress

Authored-by: Yibo Cai <e732a3f0de35687e82bda0008a72e443d2f69704@arm.com>
Signed-off-by: David Li <dc24f9cfc84fb1675ce65c8444a2c3e2f0e5f297@gmail.com>

apache/arrow,apache/arrow,wesm/arrow,wesm/arrow,apache/arrow,cpcloud/arrow,laurentgo/arrow,cpcloud/arrow,wesm/arrow,cpcloud/arrow,icexelloss/arrow,wesm/arrow,laurentgo/arrow,cpcloud/arrow,kou/arrow,cpcloud/arrow,cpcloud/arrow,apache/arrow,icexelloss/arrow,icexelloss/arrow,icexelloss/arrow,kou/arrow,kou/arrow,laurentgo/arrow,icexelloss/arrow,cpcloud/arrow,icexelloss/arrow,wesm/arrow,wesm/arrow,apache/arrow,wesm/arrow,icexelloss/arrow,cpcloud/arrow,icexelloss/arrow,cpcloud/arrow,kou/arrow,icexelloss/arrow,laurentgo/arrow,cpcloud/arrow,laurentgo/arrow,kou/arrow,kou/arrow,kou/arrow,cpcloud/arrow,laurentgo/arrow,laurentgo/arrow,wesm/arrow,kou/arrow,icexelloss/arrow,apache/arrow,icexelloss/arrow,apache/arrow,apache/arrow,wesm/arrow,laurentgo/arrow,wesm/arrow,wesm/arrow,apache/arrow,laurentgo/arrow,cpcloud/arrow,wesm/arrow,apache/arrow,cpcloud/arrow,kou/arrow,laurentgo/arrow,laurentgo/arrow,laurentgo/arrow,wesm/arrow,apache/arrow,laurentgo/arrow,kou/arrow,kou/arrow,laurentgo/arrow,apache/arrow,apache/arrow,apache/arrow,kou/arrow,wesm/arrow,icexelloss/arrow,kou/arrow,kou/arrow,laurentgo/arrow,icexelloss/arrow,cpcloud/arrow,icexelloss/arrow