add helper function to humanize byte sizes

Changes:
- add static method humanize_bytesize to common helpers
- add tests to cover the new function in new spec
  common_spec.rb

Core for CLT-202
Add size based progress indicator class

Changes:
* add SizeBasedProgressIndicator class to
  support showing a progress indicator based
  on the progressive amount of data downloaded from
  the API for the query result output
* Add simple tests for the SizeBasedProgressIndicator
  and TimeBasedProgressIndicator classes

Support for CLT-202
Show result_size in human readable format

Changes:
* show the size of the query result output in both
  job:show ('Result size:' row) and tabular format
  in job:list
* both places display the result size in humand readable
  format as processed by humanize_bytesize

Frontend for CLT-202
Merged 'master' into 'CLT-202'
Better result download predictability by exposing the incremental compressed msgpack size

Changes:
* improve SizeBasedDownloadProgressIndicator class with minimum time periodicity
  setting. The update function receives the total size, not the incremental size
  to work better with the td-client's Job#result_each_with_compr_size
* Show download and/or file conversion progress when:
  * printing in table format to stdout
  * writing to file in csv, tsv, json, msgpack, msgpack.gz formats

Completes CLT-202
Merge branch 'master' into CLT-202
Remove extra debug value in 'Result size' of job:show summary
Fix result download to stdout in csv/tsv/json

Fixes commit 0380b1ac
CLT-202
Hide result download progress indicator afterwards