IMPALA-1308: estimate scanner thread memory requirements based on file size

We use a constant memory overhead when estimating if we have enough
memory to start a new scanner thread. This doesn't work well for
compressed text files, which need to be entirely decompressed in
memory. Our constant estimate was often too low in this case, which
could cause threads to OOM. Instead, for compressed text files, base
the overhead on the maximum file size.

This is tested in test_mem_usage_scaling.py, which failed on text/gzip
before this patch.

Change-Id: I151704df6b4ead2b7ebeb1b2103af056a8f0b42d
Reviewed-on: http://gerrit.sjc.cloudera.com:8080/4545
Reviewed-by: Skye Wanderman-Milne <skye@cloudera.com>
Tested-by: jenkins